1

我正在使用 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() 方法时。

有人可以解释一下吗?

4

1 回答 1

2

当我在代码的其他地方有一个损坏的 src 时,我已经看到了这种行为。例如,如果找不到 javascript 文件,cake 将启动,导致逻辑再次运行。这可以解释为什么您会看到像 beforeRender() 这样的方法运行两次。

于 2012-12-14T15:40:58.333 回答