php什么时候用静态方法
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相关知识,请访问教程集!
以上就是php什么时候用静态方法的详细内容,更多请关注教程集其它相关文章!
您可能感兴趣的文章:
php什么时候用静态方法
php静态方法中可以使用this吗?
伪静态几种做法
php-fpm两种进程管理模式详解
PHP面向对象编程之静态变量的简单例子
PHP 中的 -> 和 :: 的区别
php static静态变量修饰符的用法详解
php静态类的罪与罚(原理详解与实例分析)
php final static const成员属性用法
PHP实现页面静态化、纯静态化及伪静态化