如何在CakePHP中正确覆盖模型的构造函数

Alv*_*aro 4 testing constructor cakephp overwrite

我在CakePHP 2.0中测试Model时遇到麻烦,似乎问题出在模型的构造函数上.

public function __construct(){
    parent::__construct(); 
    $this->_pagi_cuantos = 2;
}
Run Code Online (Sandbox Code Playgroud)

即使我删除了所有内容,我仍然在尝试运行测试时遇到问题.

马克故事告诉我:

如果你有一个构造函数,请确保你正确地覆盖了构造函数.如果不这样做会导致这样的错误.

我错了什么?

mar*_*ark 20

你为什么不考虑它的开源核心代码:https: //github.com/cakephp/cakephp/blob/2.1/lib/Cake/Model/Model.php#L653

所以你的所有型号:

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table, $ds);
}
Run Code Online (Sandbox Code Playgroud)


Kri*_*ris 6

如何使用beforeFilter()作为控制器或者使用模型的before方法(如beforeFind(),beforeValidate()等),而不是覆盖构造函数.