4

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

public function __construct(){
    parent::__construct(); 
    $this->_pagi_cuantos = 2;
}

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

马克故事告诉我:

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

我错了什么?

4

3 回答 3

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);
}
于 2012-04-14T13:28:28.963 回答
6

与其重写构造函数,不如将 beforeFilter() 用于控制器或模型的 before 方法,例如 beforeFind()、beforeValidate() 等。

于 2012-11-05T22:16:03.983 回答
1

我发现的一种方法是做这样的事情:

function __construct() {
    call_user_func_array(array('parent', '__construct'), func_get_args());
}

它使您不必担心父母会通过什么。尽管该代码非常可怕。

于 2013-08-28T20:04:07.880 回答