我在CakePHP 2.0中测试模型时遇到问题,看起来问题出在模型的构造函数上。如何在CakePHP中正确覆盖模型的构造函数
public function __construct(){
parent::__construct();
$this->_pagi_cuantos = 2;
}
即使我删除了所有内容,但仍然遇到尝试运行测试的问题。
马克的故事告诉我:
,如果你有一个构造函数确保你正确地重写构造 。不这样做会导致这样的错误。
我错了什么?
我在CakePHP 2.0中测试模型时遇到问题,看起来问题出在模型的构造函数上。如何在CakePHP中正确覆盖模型的构造函数
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 ()for controller或之前的模型方法,如beforeFind(),beforeValidate()等。
我发现的一种方法是做类似这样的事情:
function __construct() {
call_user_func_array(array('parent', '__construct'), func_get_args());
}
它可以让你不必担心父母通过什么。尽管该代码非常可怕。
会发生什么?如果你需要帮助,你必须给我们更多的东西...... – Joep 2012-04-14 13:04:36
那么,发生什么应该是无关紧要的。但是如果你想知道它:testCase不能很好地选择数据库。它适用于默认的测试版。 (顺便说一句,我已经更新了这篇文章) – Alvaro 2012-04-14 13:07:10
这个问题是所有版本的CakePHP实际。我在1.3 – 2012-05-14 20:50:07