gpt4 book ai didi

model-view-controller - 使用 Zend 框架进行路由链接

转载 作者:行者123 更新时间:2023-12-02 05:19:37 27 4
gpt4 key购买 nike

我正在尝试为我正在处理的 Zend Framework 站点上的管理面板实现路由链接。我正在使用以下配置文件,希望“admin”路由使用“/admin”路由,“adminLogin”路由使用“/admin/login”路由。

<?xml version="1.0" encoding="UTF-8"?>
<routes>
<admin>
<route>admin</route>
<defaults>
<module>admin</module>
<controller>index</controller>
<action>index</action>
</defaults>
<chains>
<adminLogin>
<route>login</route>
<defaults>
<module>admin</module>
<controller>login</controller>
<action>index</action>
</defaults>
</adminLogin>
</chains>
</admin>
</routes>

虽然使用该配置,但只有“adminLogin”有效。路由“admin”路由到默认模块/ Controller /操作。

我认为我一定遗漏了一些有关链接工作原理的信息。非常感谢任何反馈

最佳答案

链的父路由(在本例中为 admin)实际上不会像真实路由那样匹配。它的唯一目的是捕获顶级匹配,然后让其链接的子级处理实际路由。

尝试在链的顶部显式添加一个空的静态路由,如下所示:

<chains>
<index type="Zend_Controller_Router_Route_Static">
<route></route>
<defaults module="admin" controller="index" action="index" />
</index>
<login>
<route>login</route>
<defaults>
<module>admin</module>
<controller>login</controller>
<action>index</action>
</defaults>
</login>
</chains>

参见 an older answer of mine了解更多细节和链式路由的陷阱。

此外,值得注意的是路由器会自动将链接的路由名称与破折号连接起来,因此,如果您需要明确使用您的登录路由,它目前将被命名为 admin-adminLogin。我建议将其重命名为简单的 login

关于model-view-controller - 使用 Zend 框架进行路由链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203441/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com