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

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

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

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

2 回答

?
临摹微笑

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

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

TA贡献1804条经验 获得超8个赞

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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信