1
我使用CakePHP的2.2.0和我有这样的AppController:为什么beforeRender()被调用两次?
<?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()'看看是什么调用它.. – Dunhamzzz 2012-07-09 10:54:49
有些人建议''beforeRender'一次触发布局,一次触发'$ content_for_layout'(视图);或许就是这样。 – Ross 2012-07-09 12:33:27