84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
一般我们做php项目 类里面 定义的方法 或者 属性 都是普通的 什么时候该用 static 方法和属性 有什么例子的
我很少用 静态属性 就有一次用过 我在做会员中心 要获取 会员菜单的时候 我用的
private static $menu = array();
大家可以讨论下吗
欢迎选择我的课程,让我们一起见证您的进步~~
当方法与实例关系不大时,也就是当你希望摆脱实例化的限制直接使用类中的一个方法或属性时,可以定义为static。此外在效率上:类名访问静态方法 > 实例访问静态方法 > 实例访问非静态成员方法
static
但是,过多地定义静态方法或属性无疑会对类的封装性和安全性造成一定影响。
btw,如果属性与实例的关系几乎为0时,建议定义为const常量。
btw
const
在一个类里面,不变的一些东西可以使用static,比如,数据库链接的dsn,还有比如你问题中提到的会员菜单。
我一般不排斥业务代码用静态方法/属性,但框架/公共的代码还是要极力避免静态方法和属性的(少数如工厂方法的情况可以排除),因为这涉及
当方法与实例关系不大时,也就是当你希望摆脱实例化的限制直接使用类中的一个方法或属性时,可以定义为
static
。此外在效率上:
类名访问静态方法 > 实例访问静态方法 > 实例访问非静态成员方法
但是,过多地定义静态方法或属性无疑会对类的封装性和安全性造成一定影响。
btw
,如果属性与实例的关系几乎为0时,建议定义为const
常量。在一个类里面,不变的一些东西可以使用static,比如,数据库链接的dsn,还有比如你问题中提到的会员菜单。
我一般不排斥业务代码用静态方法/属性,但框架/公共的代码还是要极力避免静态方法和属性的(少数如工厂方法的情况可以排除),因为这涉及