php – 在构造函数中最好不要做什么?
发布时间:2020-12-13 13:01:48 所属栏目:PHP教程 来源:网络整理
导读:我首先提出了一个问题:“在构造函数上执行单元测试的最佳方法是什么(例如,PHP5中的__construct())”,但在阅读相关问题时,我看到几条评论似乎表明设置成员变量或在构造函数中执行任何复杂的操作都是no-nos. 这里讨论的类的构造函数接受一个参数,对它执行一些
我首先提出了一个问题:“在构造函数上执行单元测试的最佳方法是什么(例如,PHP5中的__construct())”,但在阅读相关问题时,我看到几条评论似乎表明设置成员变量或在构造函数中执行任何复杂的操作都是no-nos.
这里讨论的类的构造函数接受一个参数,对它执行一些操作(确保它通过嗅探测试,并在必要时进行转换),然后将其存储在成员变量中. 我认为这样做的好处是: 1)客户端代码永远是 2)它在客户端代码中保存了一个步骤 $Thing = new Thing; $Thing->initialize($var); 什么时候我们可以做到这一点 $Thing = new Thing($var); 并完成它. 这是不是吗?如果是这样的话?
这在C讨论中出现了很多,我得到的一般结论是这样的:
如果对象没有获取任何外部资源,则必须在构造函数中初始化成员.这涉及在构造函数中完成所有工作. >(x,y)坐标(或者实际上任何其他只是一个美化元组的结构) 如果对象获取了它可以控制的资源,则可以在构造函数中分配它们: >打开文件描述符 如果对象获取了无法完全控制的资源,则必须在构造函数之外分配它们: > TCP连接 总有例外,但这涵盖了大多数情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |