在CakePHP 3.0中,initialize()和beforeFilter()有什么区别?

时间:2015-04-21 18:32:32

标签: php cakephp cakephp-3.0

我正在从CakePHP 2.x转换,我不清楚initialize()beforeFilter()之间的区别。他们之间似乎有很多重叠。我什么时候应该使用一个而不是另一个?

2 个答案:

答案 0 :(得分:7)

这是事件发生的顺序。在initialize()方法之后立即调用__construct(),而仅在调度操作时调用beforeFilter()

答案 1 :(得分:4)

始终会调用

initialize()

beforeFilter()是可选的。如果存在,则为:

  

在控制器的beforeFilter方法之前调用,但在控制器的initialize()方法之后调用。

http://book.cakephp.org/3.0/en/controllers/components.html#component-callbacks