«

PHP中动态类与静态类的区别有哪些

时间:2024-6-10 11:15     作者:韩俊     分类: PHP


这篇文章主要介绍“PHP中动态类与静态类的区别有哪些”,在日常操作中,相信很多人在PHP中动态类与静态类的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中动态类与静态类的区别有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PHP中动态类与静态类的区别:1、使用频繁的是静态类,用的少的是动态类;2、静态类速度快,占内存,动态类速度相对慢些,但调用完后立即释放可以节省内存,根据自身需要选择;3、对比较大内存的服务器来说,设置为静态的话会提高效率,对比较小内存的服务器来说,动态方式会结束掉多余进程,可以回收释放一些内存。

PHP中动态类与静态类的区别

静态的方法在整个应用程序其间存储在内存中,速度快,但占用内存。

class A

  {

      public static string b()

      {

          return "Hello";

      }

  }

用法

A.b();      //调用方便

动态的方法在先声明类实例才能调用类中的方法。

class A

{

    public string b()

    {

        return "Hello";

    }

}

用法

A  a  =  new  a();      
a.b();

一般使用频繁的方法用静态方法,用的少的方法用动态的。

静态的速度快,占内存。动态的速度相对慢些,但调用完后,立即释放类,可以节省内存,可以根据自己的需要选择是用动态方法还是静态方法。

所以动态方式因为会结束掉多余进程,可以回收释放一些内存,所以推荐在内存较少的服务器上使用。建议根据服务器的负载情况来设置,比较合适的值在5到10之间。

对比较大内存的服务器来说,设置为静态的话会提高效率。因为频繁开关php-fpm进程也会有时滞,所以内存够大的情况下开静态效果会更好。

静态方法主要的问题就是数据同步的问题。如果你的静态方法的类中不保存私有变量那么什么问题都不会有的。最好是包要操作的数据全部以参数的方式传到方法中去。

静态方法是类方法,调用时不需要创建类实例。

动态方法是静态绑定到子类,不是被继承。

静态方法修改的是类的状态,而动态修改的是各个对象的状态,这点也是它们重要的区别

动态类的实例化调用是在类的生命周期中存在,当类没有了以后,对应的实例也就没有了,对应的方法也就没有了,静态类不然,只要你引用了那个静态类的命名空间,他就会一直存在,直到你退出系统。

标签: php php教程

热门推荐