在PHP中,雙冒號指的是作用域限定運算符,可以用來存取靜態成員,也就是用變數將類別表示出來,再用雙冒號在類別的外部存取其中的靜態成員,語法為“test::$靜態屬性”或“test::靜態方法”。
本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。
雙冒號運算子:即作用域限定運算子Scope Resolution Operator可以存取靜態、const和類別中重寫的屬性與方法。
1.用變數存取靜態成員
其實就是用變數把類別表示出來,再用雙冒號再類別外部存取其中的靜態成員。
<?php class Fruit{ const CONST_VALUE='fruit color'; } $classname='Fruit'; echo $classname::CONST_VALUE;//fruit color ?>
存取自己的時候就把類別名稱換成$SELF,例如:
<?php class Fruit { const CONST_VALUE = 'Fruit Color'; } class Apple extends Fruit { public static $color = 'Red'; public static function doubleColon() { echo parent::CONST_VALUE . "\n"; echo self::$color . "\n"; } } Apple::doubleColon();//Fruit Color Red ?>
2.用parent存取
存取父類別的方法。
<?php class Fruit { protected function showColor() { echo "Fruit::showColor()\n"; } } class Apple extends Fruit { // Override parent's definition public function showColor() { // But still call the parent function parent::showColor(); echo "Apple::showColor()\n"; } } $apple = new Apple(); $apple->showColor(); ?>
運行結果:
Fruit::showColor()
#Apple::showColor()
推薦學習:《PHP影片教程》
以上是php中雙冒號的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!