【问题标题】:Zend Framework hostname routingZend Framework 主机名路由
【发布时间】:2011-12-16 21:35:01
【问题描述】:

我有以下代码:

$route = new Zend_Controller_Router_Route_Hostname("test", array('controller'=>'mycontroller'));

这很好用,并将请求重定向到“mycontroller”中的索引操作。

我需要做的是能够调用以下网址:

http://test/myaction

调用的动作是mycontroller->myaction

有人知道吗?

谢谢。

【问题讨论】:

    标签: zend-framework


    【解决方案1】:

    来自documentation

    主机名路由可以,但绝不应该按原样使用。这背后的原因是,仅主机名路由就可以匹配任何路径。因此,您要做的就是将路径路由链接到主机名路由。这通过调用$hostnameRoute->chain($pathRoute); 来完成,就像在示例中一样。通过这样做,$hostnameRoute 不会被修改,但会返回一条新路由 (Zend_Controller_Router_Route_Chain),然后可以将其提供给路由器。

    鉴于您的主机名路由中没有实际的变量组件,它是相当多余的。如果您的路线没有可变部分,您最好坚持使用Zend_Controller_Router_RouteZend_Controller_Router_Route_Static

    【讨论】:

    • 我不确定我是否完全理解您的意思。将有多个主机路由。有些,例如示例,将具有可变的操作。我想要实现的是让主机确定控制器,如果没有指定路径,则使用索引操作。如果指定了任何操作。所以:codetest 将使用 mycontroller 和 index 动作,而:codetest/myaction 将使用 mycontroller 和 myaction 动作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2017-06-09
    相关资源
    最近更新 更多