类使用STATIC和不使用除了用法到底有什么不同?大家偏向于哪一种?
class class1
{
public static function test(){}
}
class class2
{
public function test(){}
}
大家讨论下吧
:joy:
静态方法无需实例化,一般都是与对象相关但与其属性不相关的一些逻辑。
static function的生命周期比普通funciton的生命周期更长,你可以看作全局变量和普通变量的对比.
我就知道静态方法不需要实例化,但是不知道什么时候该用静态方法,什么时候不用,希望有大神说说。
没有好坏之分,适用的就是最好的。
举个非常经典的静态实例使用场景,几乎所有的PHP框架的
Request
对象,都是使用的静态实例,为什么这样做呢?因为
Request
对象,几乎在框架整个生命周期中的每一个环节,你都可以见到它的身影,正是利用了静态变量的脚本开始到结束的长生命周期特性,才实现了如此方便的跨函数、跨类、跨文件之间的变量共享。这是我认为静态实例使用非常经典的一个案例。