加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 云服务器、云原生、边缘计算、云计算、混合云存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-09-28 14:03:09 所属栏目:PHP教程 来源:网络
导读:   PHP中动态类与静态类的区别:1、使用频繁的是静态类,用的少的是动态类;2、静态类速度快,占内存,动态类速度相对慢些,但调用完后立即释放可以节省内存,根据自身需要选择;3、对比较
  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进程也会有时滞,所以内存够大的情况下开静态效果会更好。
 
  静态方法主要的问题就是数据同步的问题。如果你的静态方法的类中不保存私有变量那么什么问题都不会有的。最好是包要操作的数据全部以参数的方式传到方法中去。
 
  静态方法是类方法,调用时不需要创建类实例。
 
  动态方法是静态绑定到子类,不是被继承。
 
  静态方法修改的是类的状态,而动态修改的是各个对象的状态,这点也是它们重要的区别
 
  动态类的实例化调用是在类的生命周期中存在,当类没有了以后,对应的实例也就没有了,对应的方法也就没有了,静态类不然,只要你引用了那个静态类的命名空间,他就会一直存在,直到你退出系统。
 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章