我对Zend中的链接有几个问题。首先,我希望我的链接看起来不错,所以我应该按照我希望链接的方式命名我的控制器吗?或者有没有办法操纵URL?另外,在视图中链接到控制器的正确方法是什么?显而易见的方法是使用domain.com/controller/action
,但我觉得这不是最好的方式,特别是如果我可以操作URL名称。
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以使用路由器。
调用您的控制器和操作可能类似于您的路线是正常的,但是当您使用路线时,您可以更改您需要的任何内容。
有许多不同的路线可供使用,因此您可以“匹配”许多不同的网址。
以下是标准的:
Zend_Controller_Router_Route中
Zend_Controller_Router_Route_Static
Zend_Controller_Router_Route_Regex
Zend_Controller_Router_Route_Hostname
您还可以使用上述任何路线,并使用以下链接将它们链接在一起:
您将创建您的路线(通常在您的Bootstrap中),并且有很多路线。然后它们与Request对象“匹配”,以便将请求路由到正确的Controller和Action。
默认路线类似于/:module/:controller/:action
但如果你想要,你可以创造任何东西。
这是来自文档的示例,它将匹配/author/Doug
之类的网址,然后将请求路由到默认模块,profile
控制器和userinfo
操作。
$route = new Zend_Controller_Router_Route(
'author/:username',
array(
'controller' => 'profile',
'action' => 'userinfo'
)
);
$router->addRoute('user', $route);