我在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