我在 CakePHP 2.0 中测试模型时遇到了麻烦,问题似乎出在模型的构造函数上。
public function __construct(){
parent::__construct();
$this->_pagi_cuantos = 2;
}
即使我删除了它的所有内容,我仍然在尝试运行测试时遇到问题。
马克故事告诉我:
如果你有一个构造函数,请确保你正确地覆盖了构造函数。不这样做会导致这样的错误。
我错了什么?
我在 CakePHP 2.0 中测试模型时遇到了麻烦,问题似乎出在模型的构造函数上。
public function __construct(){
parent::__construct();
$this->_pagi_cuantos = 2;
}
即使我删除了它的所有内容,我仍然在尝试运行测试时遇到问题。
马克故事告诉我:
如果你有一个构造函数,请确保你正确地覆盖了构造函数。不这样做会导致这样的错误。
我错了什么?
你为什么不看看它的开源核心代码: 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);
}
与其重写构造函数,不如将 beforeFilter() 用于控制器或模型的 before 方法,例如 beforeFind()、beforeValidate() 等。
我发现的一种方法是做这样的事情:
function __construct() {
call_user_func_array(array('parent', '__construct'), func_get_args());
}
它使您不必担心父母会通过什么。尽管该代码非常可怕。