【发布时间】:2012-04-20 15:56:46
【问题描述】:
我的构造函数中有很多这样的代码:-
function __construct($params) {
$this->property = isset($params['property']) ? $params['property'] : default_val;
}
一些默认值取自其他属性,这就是我在构造函数中这样做的原因。但我想它可以在 setter 中完成。
这种方法有什么优缺点,有没有更好的方法?
编辑: 我有一些依赖关系,如果$params 数组中未提供某个属性,则该值取自另一个属性,但是该其他属性可能是可选的并且具有默认值,所以初始化属性的顺序很重要。
这意味着,如果我使用 getter 和 setter,那么调用它们的顺序并不明显,因为依赖项是在 getter 中抽象出来的,而不是在构造函数中......
【问题讨论】:
标签: php oop class constructor initialization