PHP 范圍解析操作符(::)用法分析【訪問(wèn)靜態(tài)成員和類常量】
本文實(shí)例講述了PHP 范圍解析操作符(::)用法。分享給大家供大家參考,具體如下:
范圍解析操作符 (::)
范圍解析操作符(也可稱作 Paamayim Nekudotayim)或者更簡(jiǎn)單地說(shuō)是一對(duì)冒號(hào),可以用于訪問(wèn)靜態(tài)成員,類常量,還可以用于覆蓋類中的屬性和方法。
當(dāng)在類定義之外引用到這些項(xiàng)目時(shí),要使用類名。
自 PHP 5.3.0 起,可以通過(guò)變量來(lái)引用類,該變量的值不能是關(guān)鍵字(如 self,parent 和 static)。
把 Paamayim Nekudotayim 選作雙冒號(hào)操作符的名字似乎有些奇怪。然而,這是 Zend 開(kāi)發(fā)小組在寫(xiě) Zend Engine 0.5(被用于 PHP 3 中)時(shí)所作出的決定。事實(shí)上這個(gè)詞在希伯萊文就是雙冒號(hào)的意思。
在類的外部使用 ::
self,parent 和 static 這三個(gè)特殊的關(guān)鍵字是用于在類定義的內(nèi)部對(duì)其屬性或方法進(jìn)行訪問(wèn)的。
<?php class MyClass { const CONST_VALUE = 'A constant value'; } $classname = 'MyClass'; echo $classname::CONST_VALUE; // 自 PHP 5.3.0 起 echo MyClass::CONST_VALUE;
在類定義的內(nèi)部使用 ::
當(dāng)一個(gè)子類覆蓋其父類中的方法時(shí),PHP 不會(huì)調(diào)用父類中已被覆蓋的方法。是否調(diào)用父類的方法取決于子類。這種機(jī)制也作用于構(gòu)造函數(shù)和析構(gòu)函數(shù),重載以及魔術(shù)方法。
<?php class OtherClass extends MyClass { public static $my_static = 'static var'; public static function doubleColon() { echo parent::CONST_VALUE . "\n"; echo self::$my_static . "\n"; } } $classname = 'OtherClass'; echo $classname::doubleColon(); // 自 PHP 5.3.0 起 OtherClass::doubleColon();
調(diào)用父類的方法
<?php class MyClass { protected function myFunc() { echo "MyClass::myFunc()\n"; } } class OtherClass extends MyClass { // 覆蓋了父類的定義 public function myFunc() { // 但還是可以調(diào)用父類中被覆蓋的方法 parent::myFunc(); echo "OtherClass::myFunc()\n"; } } $class = new OtherClass(); $class->myFunc();
運(yùn)行結(jié)果:
MyClass::myFunc()
OtherClass::myFunc()
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
一個(gè)php導(dǎo)出oracle庫(kù)的php代碼
紅色字為變量,我也是邊查手冊(cè)邊寫(xiě)的,以前沒(méi)有接觸過(guò),這段小代碼用了一個(gè)多小時(shí),記錄一下2009-04-04析構(gòu)函數(shù)與php的垃圾回收機(jī)制詳解
在PHP中,沒(méi)有任何變量指向這個(gè)對(duì)象時(shí),這個(gè)對(duì)象就成為垃圾。PHP會(huì)將其在內(nèi)存中銷毀。這是PHP的GC(Garbage Collector)垃圾處理機(jī)制,防止內(nèi)存溢出2013-10-10php實(shí)現(xiàn)的百度搜索某地天氣的小偷代碼
這篇文章主要介紹了php實(shí)現(xiàn)的百度搜索某地天氣的小偷代碼,有關(guān)php顯示天氣預(yù)報(bào)信息的方法,需要的朋友可以參考下2014-04-04詳解no input file specified 三種解決方法
這篇文章主要介紹了詳解no input file specified 三種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11