php - 禅德 : Execute something before a controller is executed

标签 php zend-framework controllers bootstrapping

在我的 Zend 框架项目中,我想检查是否设置了 cookie。如果是这种情况,我想使用 cookie 内容来登录用户。

由于我有必要在调用任何 Controller 之前执行此自动登录,因此我尝试将其放入 Bootstrap 中。我想检查数据库中的用户信息是否有效。不幸的是,此时默认数据库适配器尚未初始化。

所以我的问题如下:我应该在哪里放置那些在调用任何 Controller 之前以及在所有初始化/引导操作完成之后应该执行的内容?

最佳答案

我对 Zend Framework 没有很好的经验,但我认为您应该创建一个自定义通用 Controller ,例如扩展 Zend_Controller_Action 的 GenericController 并将您的代码放入 preDispatch() 函数中。然后,您的所有 Controller 都将是自定义 Controller 的子类,例如:

class GenericController extends Zend_Controller_Action{
   function preDispatch(){
      parent::preDispatch();
      // put your code here
   }
}
class FooController extends GenericController{
...
}

关于php - 禅德 : Execute something before a controller is executed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4281310/

相关文章:

php - 如何在 Zend2 中为集合呈现自定义模板

grails - Grails Controller 和服务中的线程池

php - 如何使用 CSS 去除空格

php - 实时拉取API数据并发布

php - 使用swift2插入数据库

php - 如何处理 doctrine2 数据 fixture (平面文件)

php - 如何使用 Zend Form Decorator 将所有输入和标签放入 div?

php - 如何在 CodeIgniter 中将两个数组合并为一个?

javascript - AngularJS:如何通过 Controller 中的服务方法传递 id

php - MySQL:通过单词搜索缩短查询时间