我应该按照我想要的URL的方式创建我的控制器吗?

时间:2011-12-05 09:14:03

标签: zend-framework

我对Zend中的链接有几个问题。首先,我希望我的链接看起来不错,所以我应该按照我希望链接的方式命名我的控制器吗?或者有没有办法操纵URL?另外,在视图中链接到控制器的正确方法是什么?显而易见的方法是使用domain.com/controller/action,但我觉得这不是最好的方式,特别是如果我可以操作URL名称。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

Zend_Controller_Router

您可以使用路由器。

调用您的控制器和操作可能类似于您的路线是正常的,但是当您使用路线时,您可以更改您需要的任何内容。

有许多不同的路线可供使用,因此您可以“匹配”许多不同的网址。

以下是标准的:

Zend_Controller_Router

  • Zend_Controller_Router_Route中

  • Zend_Controller_Router_Route_Static

  • Zend_Controller_Router_Route_Regex

  • Zend_Controller_Router_Route_Hostname

您还可以使用上述任何路线,并使用以下链接将它们链接在一起:

  • Zend_Controller_Router_Route_Chain

基本操作

您将创建您的路线(通常在您的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);