通用页面的 Zend Framework 路由?
Posted
技术标签:
【中文标题】通用页面的 Zend Framework 路由?【英文标题】:Zend Framework route for generic pages? 【发布时间】:2012-03-27 11:54:35 【问题描述】:我正在构建一个 Zend Framework 站点。它是 MVC,所以使用控制器,所以我有像 NewsController
这样的控制器,可以通过 /news 等访问。但是,我的另一个控制器是 PagesController
,它只处理静态内容页面。
我的PagesController
也是我的默认控制器。所以 http://example/ 返回PagesController::home()
。我还有一个名为view()
的方法,它以$slug
为参数。
我想做的是设置一个路由,如果我请求 http://example.com/about 并且没有NewsController
,则该请求通过到我的PagesController
的view()
方法。
我是 Zend Framework n00b,所以不知道从哪里开始。这可能吗?如果是这样,我怎么能做到这一点?
【问题讨论】:
当您说“没有 NewsController”时,您的意思是新闻控制器无法处理它还是没有物理文件 NewsController.php 存在? 我的意思是 Zend Framework 的默认路由。因此,如果我请求 /news,那么它会查找NewsController
。基本上,如果默认路由都错过了,那么我希望将请求传递给我的PagesController
以尝试在数据库中查找内容页面,如果没有则抛出正常的 404 错误页面。
【参考方案1】:
我之前在Zend Framework website.com/username 上使用插件回答过这个问题。在该插件中,您只需将 $username
替换为您的 slug 并根据需要更改请求参数。
【讨论】:
以上是关于通用页面的 Zend Framework 路由?的主要内容,如果未能解决你的问题,请参考以下文章
更新:在 Zend Framework 中管理静态内容的最佳实践?
如何使用Zend Framework 2路由选择控制器命名空间?
Zend Framework 2 中的路由,跳过 url 中的“索引”操作但获取 id