我正在开发一个具有如下 url 的网站:
site.com/james
site.com/james/photos
此 url 的架构是这样的:site.com/USERNAME/APPLICATION
用户名和应用程序名称都是从 db yb 程序逻辑中检查的。我为此设置了路由,但 Zend 将所有请求路由到该路由。
但是有相同的 Controller 和管理模块。当我访问 site.com/admin 时,它会查找用户名“admin”。或者当我访问 site.com/james/profile 时,它会尝试查找名为“profile”的应用程序。但是在 UserController 中有一个 Action 。
我怎样才能实现这个功能?例如,查找 Controller 名称并在 Controller 存在时将请求发送给它们的前端 Controller ?
最佳答案
看看重写 Zend_Controller_Action __call($method, $args)
方法,如果找不到所需的操作,该方法将被调用。
您可以将 site.com/USERNAME/APPLICATION 检查逻辑放在默认 Controller (或任何最有意义的地方)的 __call 方法中,然后返回使用默认路由。
关于php - 覆盖默认路由但在必要时调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382974/