在PHP中,關鍵字static
用于定義靜態成員,包括靜態屬性和靜態方法。
self::
或類名::
來訪問靜態屬性。定義靜態屬性時,需要在屬性名前面加上static
關鍵字。例如:class MyClass {
public static $count = 0;
public function __construct() {
self::$count++;
}
}
echo MyClass::$count; // 輸出:0
$obj1 = new MyClass();
$obj2 = new MyClass();
echo MyClass::$count; // 輸出:2
self::
或類名::
來調用靜態方法。定義靜態方法時,需要在方法名前面加上static
關鍵字。靜態方法只能訪問靜態屬性,不能訪問非靜態屬性。例如:class MathUtils {
public static function add($num1, $num2) {
return $num1 + $num2;
}
}
echo MathUtils::add(2, 3); // 輸出:5
注意:靜態成員可以在不創建類的實例的情況下直接訪問,但也可以通過類的實例來訪問。如果通過類的實例訪問靜態成員,也會對所有實例共享該靜態成員。