我必须在我的CakePHP数据源中放置parent :: __ construct($ config)吗?

时间:2011-01-17 21:51:45

标签: cakephp datasource

是否有充分的理由放

parent::__construct($config)

在我正在开发的CakePHP数据源的构造中?我发现它在https://github.com/cakephp/datasources/blob/master/models/datasources/amazon_associates_source.php中找到的某些数据源中使用但不确定原因。我可以做到

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

以同样的方式访问我的$ config。

1 个答案:

答案 0 :(得分: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类中所做的任何更改。