* 範圍解析符號::
* 一、用途
* 1.呼叫靜態成員(類別外部)
* 2.呼叫類別常數
* 3.呼叫被子類別覆寫的類別成員(屬性/方法)
* 二、場景
* 1.類別外部:前面僅允許透過類別名稱來存取類別中成員
* 2.類別內部:前面只允許: self, parent,static
* 三、特殊: 允許使用類別名稱變數來引用類別名稱(php5.3 )
class Demo1 { const HOME = '合肥'; public static function test1() { return __METHOD__; } public static function test2() { //延迟静态绑定:后面会说到 //static::根据上下文来决定使用哪个类来调用 return static::test1(); } } class Demo2 extends Demo1 { public static $name = '朱老师'; public static function test1() { //调用本类静态成员: self:: $res = self::$name.'<br>'; //调用父类静态成员属性: parent:: $res .= parent::HOME.'<br>'; //调用父类静态成员方法 $res .= parent::test1().'<br>'; $res .= __METHOD__; return $res; } }
//1.類別外部呼叫類別靜態成員
echo Demo1::HOME,'<br>'; echo Demo1::test1(); echo '<hr>'; echo Demo2::test1(); echo '<hr>';
//注意Demo1呼叫test2()和Demo2呼叫test2()的差異
//Demo1::test( )傳回Demo1中的test1()運行結果
echo Demo1::test2(); echo '<hr>';
//Demo2::test2()傳回Demo2中的test1()運行結果
echo Demo2::test2(); echo '<hr>';
//php5.3 ,允許使用類變數來呼叫
$class = 'Demo2'; echo $class::test2();
以上是php中的範圍解析符的詳細內容。更多資訊請關注PHP中文網其他相關文章!