【发布时间】:2012-12-14 23:40:58
【问题描述】:
我正在使用 CakePHP 2.2.0 并且我有这个 AppController:
<?php
App::uses('Controller', 'Controller');
class AppController extends Controller {
public function beforeRender(){
debug('test');
}
}
?>
还有这个简单的自定义控制器:
<?php
App::uses('AppController', 'Controller');
class ProvidersController extends AppController {
public function index(){
debug('index');
}
}
?>
我真的不明白为什么 AppController 的 beforeRender 被调用了两次......我在调试模式下看到两个“测试”字符串,当 URL 到达 ProvidersController 的 index() 方法时。
谁能解释一下?
【问题讨论】:
-
不知道为什么,你可以在 beforeRender 中尝试
debug_print_backtrace()看看是什么调用它.. -
有人建议
beforeRender为布局触发一次,为$content_for_layout(视图)触发一次;也许就是这样。