首頁 >後端開發 >PHP問題 >php中雙冒號的用法是什麼

php中雙冒號的用法是什麼

WBOY
WBOY原創
2022-02-21 15:36:093439瀏覽

在PHP中,雙冒號指的是作用域限定運算符,可以用來存取靜態成員,也就是用變數將類別表示出來,再用雙冒號在類別的外部存取其中的靜態成員,語法為“test::$靜態屬性”或“test::靜態方法”。

php中雙冒號的用法是什麼

本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

php中雙冒號的用法是什麼

雙冒號運算子:即作用域限定運算子Scope Resolution Operator可以存取靜態、const和類別中重寫的屬性與方法。

1.用變數存取靜態成員

其實就是用變數把類別表示出來,再用雙冒號再類別外部存取其中的靜態成員。

<?php
class Fruit{
const CONST_VALUE=&#39;fruit color&#39;;
}
$classname=&#39;Fruit&#39;;
echo $classname::CONST_VALUE;//fruit color
?>

存取自己的時候就把類別名稱換成$SELF,例如:

<?php
class Fruit {
    const CONST_VALUE = &#39;Fruit Color&#39;;
}
 
class Apple extends Fruit
{
    public static $color = &#39;Red&#39;;
 
    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&#39;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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn