博客列表 >PHP静态方法和实例化方法的区别

PHP静态方法和实例化方法的区别

晓森的博客
晓森的博客原创
2019年02月14日 18:30:511059浏览

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();

   

 


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议