温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么时候适合php用静态方法

发布时间:2020-07-21 10:29:05 来源:亿速云 阅读:381 作者:Leah 栏目:编程语言

什么时候适合php用静态方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

静态方法 :

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

非静态方法:

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

区别:

1. 静态方法不用 new,用起来省事。

2. 静态快,效率高,因为程序运行开始 就实例生成内存,用完还在,没有释放。

3. 非静态在调用的时候生成内存,用完就释放了。

一般工具类中使用静态方法
如:

class Helper{
    public static function fun1(){}
    public static function fun2(){}
}

如果对同一类的任何一个对象而言,该方法要做的事情都是一样的,而和这个对象本身没什么关系,一般这个方法可以定义为一个静态方法。
比如我要获取客户端的IP 地址,这个方法一般和业务逻辑类没什么关系,那么我可以定义一个工具类,其中定义一个方法:getClientIP()

class Helper{
public static function getClientIP(){
    $ip = $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"];
    if (strlen($ip) <= 0) {
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    if (strlen($ip) <= 0) {
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    }
    if (strlen($ip) <= 0) {
        $ip = $_SERVER["REMOTE_ADDR"];
    }
    return $ip;
}
}

看完上述内容,你们掌握什么时候适合php用静态方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI