营销型网站案例,长沙seo网络推广,移动端关键词排名优化,学校网站怎么做优化关于静态属性 最简单直接#xff1a;静态方法也是一样 看了很多关于静态和动态的说法#xff0c;无非是从
调用方式#xff0c;
类访问实例变量#xff0c;
访问静态变量#xff0c;
需不要实例化这几个方向#xff0c;太空了。问使用场景#xff0c;好一点的 能说个… 关于静态属性 最简单直接静态方法也是一样 看了很多关于静态和动态的说法无非是从
调用方式
类访问实例变量
访问静态变量
需不要实例化这几个方向太空了。问使用场景好一点的 能说个用来做单例。逆天的还有说什么字符串作用语义明确修改方便那我直接写个常量不行吗这种属于是自己也没完全理解静态的含义就教教教 最简单直接
?phpclass demo
{static protected $array [];public function __construct(){self::$array[] spl_object_id($this);}public function getArray(): array{return self::$array;}
}
$demo1 new demo();
$demo2 new demo();
$demo3 new demo();
$demo4 new demo();
$demo5 new demo();
print_r($demo1-getArray());
print_r($demo2-getArray());
print_r($demo3-getArray());
print_r($demo4-getArray());
print_r($demo5-getArray());结果
Array
([0] 1[1] 2[2] 3[3] 4[4] 5
)
Array
([0] 1[1] 2[2] 3[3] 4[4] 5
)
Array
([0] 1[1] 2[2] 3[3] 4[4] 5
)
Array
([0] 1[1] 2[2] 3[3] 4[4] 5
)
Array
([0] 1[1] 2[2] 3[3] 4[4] 5
)你会发现他们各自的实例化调用的$array是共享的所以你可以理解为什么做单例可以使用静态属性。 因为静态变量在 PHP 中是属于类本身的而不是某个具体的对象实例且一声明就被存储在栈中是全局的。它们在内存中只存储一份所有对象共享同一个静态属性。静态属性的生命周期与类相同只要类被加载到内存中静态属性就会存在直到程序结束或类被卸载。
静态方法也是一样