为了账号安全,请及时绑定邮箱和手机立即绑定

做php项目 什么时候该使用静态属性呢

做php项目 什么时候该使用静态属性呢

慕妹3242003 2019-04-08 11:19:13
一般我们做php项目类里面定义的方法或者属性都是普通的什么时候该用static方法和属性有什么例子的我很少用静态属性就有一次用过我在做会员中心要获取会员菜单的时候我用的privatestatic$menu=array();大家可以讨论下吗
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

当方法与实例关系不大时,也就是当你希望摆脱实例化的限制直接使用类中的一个方法或属性时,可以定义为static。
此外在效率上:
类名访问静态方法>实例访问静态方法>实例访问非静态成员方法
但是,过多地定义静态方法或属性无疑会对类的封装性和安全性造成一定影响。
btw,如果属性与实例的关系几乎为0时,建议定义为const常量。
                            
查看完整回答
反对 回复 2019-04-08
?
DIEA

TA贡献1820条经验 获得超2个赞

我一般不排斥业务代码用静态方法/属性,但框架/公共的代码还是要极力避免静态方法和属性的(少数如工厂方法的情况可以排除),因为这涉及
扩展性调用方写死类名意味着要改变行为几乎只能改类的代码,无法通过继承来override
可测试性静态方法/属性在测试的时候往往会对插桩造成困难
耦合度特制static属性可以被外部修改的时候,会大幅度提升耦合度。publicstatic的属性有修改行为的话和全局变量几乎只有名字的区别,灾难程度是一样的
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 409 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号