【发布时间】:2010-10-06 04:41:48
【问题描述】:
我首先起草了一个问题:“在构造函数上执行单元测试的最佳方法是什么(例如,PHP5 中的 __construct())”,但是在阅读相关问题时,我看到几个 cmets 似乎建议在构造函数中设置成员变量或执行任何复杂的操作。
这里所讨论的类的构造函数接受一个参数,对其执行一些操作(确保它通过嗅探测试,并在必要时对其进行转换),然后将其隐藏在一个成员变量中。
我认为这样做的好处是:
1) 客户端代码总是 肯定有这个价值 每当一个对象的成员变量 这个类的实例化了,并且
2) 它在客户端代码中节省了一步 (其中之一可能是 错过),例如,
$Thing = new Thing;
$Thing->initialize($var);
我们什么时候可以这样做
$Thing = new Thing($var);
并完成它。
这是禁忌吗?如果是,为什么?
【问题讨论】:
标签: php oop constructor