php – 为什么不鼓励全局$object_name?
发布时间:2020-12-13 21:41:28 所属栏目:PHP教程 来源:网络整理
导读:我有两个课程,目前我通过使用它来引用另一个课程: ClassB::func(){ global $classAObject; echo $classAObject-whatever();} 但是,我被告知不鼓励使用全球.是吗,为什么? 解决方法 有很多理由不使用全局变量.这里只是几个: 范围 在大型系统中,如果重复使用
我有两个课程,目前我通过使用它来引用另一个课程:
ClassB::func() { global $classAObject; echo $classAObject->whatever(); } 但是,我被告知不鼓励使用全球.是吗,为什么? 解决方法
有很多理由不使用全局变量.这里只是几个:
>范围 >在大型系统中,如果重复使用半通用名称,则很容易意外地重新分配全局变量 >耦合 >在良好的软件设计中,组件应松散耦合.全局变量意味着紧密耦合. >维护 >任何地方的任何其他代码都可以更改全局变量.特别是在大型系统中,这可以使调试现有代码或添加新代码成为噩梦. 处理您在帖子中给出的示例的更好方法是传递包含所需数据的对象. classB::func($obj) { echo $obj->whatever(); } $obj = new classAObject; classB::func($obj); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |