Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework Zend视图:域到操作_Zend Framework - Fatal编程技术网

Zend framework Zend视图:域到操作

Zend framework Zend视图:域到操作,zend-framework,Zend Framework,我正在引导中寻找一个方法,该方法查看URL,然后加载特定的模块/控制器/操作 但是,我不希望用户看到它 这可能且简单吗?听起来您在寻找主机名路由:您可以在Zend()中使用路由,然后在apache()中使用mod_rewrite+.htacess或IIS()中的URL重写模块 这些函数对于使用Zend来说是“必需的”,因为URL mysite.com/demo1/demo2/实际上被翻译成类似于mysite.com/index.php?controller=demo1?action=demo2我

我正在引导中寻找一个方法,该方法查看URL,然后加载特定的模块/控制器/操作

但是,我不希望用户看到它


这可能且简单吗?

听起来您在寻找主机名路由:

您可以在Zend()中使用路由,然后在apache()中使用mod_rewrite+.htacess或IIS()中的URL重写模块


这些函数对于使用Zend来说是“必需的”,因为URL mysite.com/demo1/demo2/实际上被翻译成类似于mysite.com/index.php?controller=demo1?action=demo2

我不确定您是在寻找主机名路由,还是仅仅是普通路由,所以我将回答这两个问题

Zend_控制器_路由器_路由 iedomain.com/users/layke

使用Zend_Controller_Route,您可以创建一条路线,该路线将抓取
“layke”
,并将其用作参数。这将是一条标准路线

$route = new Zend_Controller_Router_Route(
    'users/:username',
    array(
        'controller' => 'profile',
        'action'     => 'users'
    )
);
$router->addRoute('user', $route);
然后还有主机名匹配

Zend\u控制器\u路由器\u路由\u主机名 例如,(如指南所示)

你可以用

:要映射到的username.domain.com

/default/users/:username

文档示例:

$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
    ':username.example.com',
    array(
        'controller' => 'profile',
        'action'     => 'users'
    )
);     
$plainPathRoute = new Zend_Controller_Router_Route_Static('');     
$router->addRoute('user', $hostnameRoute->chain($plainPathRoute));