你是否曾经问过自己啥时候定义方法或者属性为static?这样做的优缺点是什么?ok,下面进入正题
php中定义方法为静态时,可以static public a(){}或者public static a(){}这两种写法都没有错,运行结果也是一样的,只不过是前者是老C++的写法,因为php很多地方模仿c++所以这是历史问题我们不追究了。
那么什么情况下需要定义成静态呢?
场景:在一个类文件中,方法很多的时候,如果不定义成静态的话,每次都要实例化再调;每次调用完在下一个方法中又要实例化一下再调用;如果这个文件很多方法我TM实例化到是时候后,太浪费资源了;干脆来个static然后self::方法名 ;这样调用就完事了,而且static方法还是在内存中的速度快。因为static方法只能在当前文件中调用,所以使用的前提是你这个方法不需要在很多别的地方用到。
-----------------------------------------------------------------------------自问是进步的一种方式------------------------------------------------------------------