php 静态方法和非静态方法哪个更好

class class1
{
    public static function test(){}
}
class class2
{
    public function test(){}
}

静态方法调用
class1::test(); 
非静态方法调用
$c2 = new class2(); 

$c2->test();

从性能来讲

静态方法 :

从程序运行开始 就实例生成内存 ,所以可以直接调用,效率会高很多,但是静态内存是有限制的,实例太多,程序直接启动不了,静态内存会常驻

非静态方法:

实例方法开始生成内存,在调用时申请零散的内存,所以效率会慢很多 ,非静态的用完就释放了

总体来讲都各有优势,什么时候用,都视情况而定

猜你喜欢

转载自blog.csdn.net/qq_38363371/article/details/80558384