扫码关注官方订阅号
一般我们做php项目 类里面 定义的方法 或者 属性 都是普通的 什么时候该用 static 方法和属性 有什么例子的
我很少用 静态属性 就有一次用过 我在做会员中心 要获取 会员菜单的时候 我用的
private static $menu = array();
大家可以讨论下吗
欢迎选择我的课程,让我们一起见证您的进步~~
当方法与实例关系不大时,也就是当你希望摆脱实例化的限制直接使用类中的一个方法或属性时,可以定义为 static。 此外在效率上: 类名访问静态方法 > 实例访问静态方法 > 实例访问非静态成员方法
static
但是,过多地定义静态方法或属性无疑会对类的封装性和安全性造成一定影响。
btw,如果属性与实例的关系几乎为0时,建议定义为 const 常量。
btw
const
在一个类里面,不变的一些东西可以使用static,比如,数据库链接的dsn,还有比如你问题中提到的会员菜单。
我一般不排斥业务代码用静态方法/属性,但框架/公共的代码还是要极力避免静态方法和属性的(少数如工厂方法的情况可以排除),因为这涉及
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
当方法与实例关系不大时,也就是当你希望摆脱实例化的限制直接使用类中的一个方法或属性时,可以定义为
static
。此外在效率上:
类名访问静态方法 > 实例访问静态方法 > 实例访问非静态成员方法
但是,过多地定义静态方法或属性无疑会对类的封装性和安全性造成一定影响。
btw
,如果属性与实例的关系几乎为0时,建议定义为const
常量。在一个类里面,不变的一些东西可以使用static,比如,数据库链接的dsn,还有比如你问题中提到的会员菜单。
我一般不排斥业务代码用静态方法/属性,但框架/公共的代码还是要极力避免静态方法和属性的(少数如工厂方法的情况可以排除),因为这涉及