2010-06-25 59 views
-1

我在应用程序/控制器中有以下app_controller。cakePHP - before_filter未执行

测试功能从未执行。如果我放入子类控制器,它也不在那里执行。难道我做错了什么?

class AppController extends Controller { 
var $beforeFilter = array('test'); 

function test() { 
    var_dump('test'); 
    die(); 
} 

} 
+1

使用debug() - 一个cakephp包装器 - 比pr或var_dump要好得多。 – Leo 2010-06-25 16:10:52

回答

8

beforeFilter应该是实际的功能,而不是一个变量(如佣工或组件)..

class AppController extends Controller { 
     function beforeFilter(){ 
      pr('test'); 
     } 
    } 

太多,在你的控制器,你应该叫

parent::beforeFilter(); 

beforeFilter函数。因为这是一个静态函数,所以它需要是一个实际的函数:)

+0

谢谢!我会给它一个镜头。我正在使用上面的函数回调来记录文档(尽管我现在无法再找到它)。 – paullb 2010-06-26 00:00:39

+0

完美工作,我猜我的文档已经老了。现在很好用! – paullb 2010-06-30 10:12:24