首页 > 后端开发 > PHP问题 > PHP中动态类与静态类的区别是什么

PHP中动态类与静态类的区别是什么

小老鼠
发布: 2023-04-17 17:55:29
原创
1335 人浏览过

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

PHP中动态类与静态类的区别是什么

本教程操作系统:Windows10系统、PHP8.1.3版、Dell G3电脑

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中文网其他相关文章!

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板