2011-01-17 7 views
0

私が開発していますCakePHPのデータソースの構築物に

parent::__construct($config) 

を置くのに良い理由がありますか?私はそれがhttps://github.com/cakephp/datasources/blob/master/models/datasources/amazon_associates_source.phpにあるデータソースのいくつかで使われているのを見ていますが、その理由はわかりません。私はちょうど行うことができる

private $_config = array(); 
function construct($config){ 
    $this->_config = $config; 
} 

と同様に私の$ configにアクセスします。

答えて

2

CakePHPのDataSourceクラスを見ると、コンストラクタコールsetConfigメソッドです。ここにsetConfigメソッドのソースがあります:

function setConfig($config = array()) { 
    $this->config = array_merge($this->_baseConfig, $this->config, $config); 
} 

これは、いくつかの設定をマージすることがわかります。したがって、あなたのクラスに$ config属性を定義することができ、それはコンストラクタに与えるどんなユーザとでもマージします。もちろん、あなたは、コンストラクタでこれを行うことができます。

function __construct($config){ 
    $this->setConfig($config); 
} 

しかし、CakePHPはDataSourceクラスの中に作られたどんな変化を辿るためにあなたのクラスを確保する親コンストラクタを呼び出します。

+0

ありがとう! http://stackoverflow.com/questions/4719500/when-does-cakephp-call-the-is-connect-method-in-a-data-sourceを見てみましたか? –

関連する問題