通用页面的 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,则该请求通过到我的PagesControllerview() 方法。

我是 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:从路由获取子域参数

如何使用Zend Framework 2路由选择控制器命名空间?

Zend Framework 2 中的路由,跳过 url 中的“索引”操作但获取 id

PHP Zend Framework:将表单重定向回页面用户来自

PHP Zend Framework:注销后,将用户重定向到他来自的页面