https://blog.csdn.net/shaukon/article/details/85158384
PHP静态方法和实例化方法的区别
区别点
静态方法(static)
实例方法
调用
类名::方法名
如:
User::find();
需要new
如:
$userObj = new User;
$userObj->find();
存储
在内存中只有一份,在一个php生命周期内,资源共享。
注意:静态方法,属性随着类的加载而加载,所以过多的静态方法会消耗更多的内存。
每new一次,会开辟一份独立的空间,即在内存中会存在多份的情况。
性能
直接调用,不需要开辟空间等操作,时间上和效率上更胜一筹 需要一些时间进行开辟空间等操作
共享
共享同一个空间,同一份数据,所以某些场景下更适合静态方法 多个实例不共享同一空间和数据
链式写法
不支持
支持。如:
$userOjb->fields('uid')->where('uid>0')->find();