php中雙冒號::範圍解析操作符的含義介紹

來源:互聯網
上載者:User
PHP代碼中常見"::"的操作符,這個是範圍限定操作符,它用來置頂類中不通範圍的層級,左邊是範圍,右邊是訪問範圍的成員。

範圍限定操作符(也可稱作:範圍解析操作符)或者更簡單地說是一對冒號,
可以用於訪問靜態成員、方法和常量,還可以用於覆蓋類中的成員和方法。

在PHP中定義範圍的有self和parent,在PHP6中提供了static範圍。

self:表示當前類的範圍,不能在類之外的代碼使用self,在擴充類中使用self時,它調用的不是父類的方法,而是擴充類的重載方法。

parent:表示當前類父類的範圍。

<?phpclass forasp{static $url="http://www.4u4v.cn";static $webname = "網站製作學習之php雙冒號";public function writeurl(){echo self::$url; //調用自己的內容}public function writewebname(){echo "測試子類調用父類內容";}}class cn extends forasp{function father(){parent::wirtewebname();}}$a = new forasp();//執行個體化父類$a->writeurl();//調用自身內容$b = new cn();$b->writewebname();//調用父類內容?>

調用靜態方法的時,可以使用::調用類中的靜態方法或者屬性。

用法:

雙冒號操作符即範圍限定操作符Scope Resolution Operator可以訪問靜態、const和類中重寫的屬性與方法。

那麼,與箭頭->操作符 在應用上的區別在哪裡?

當在類的外部存取這些靜態成員、方法和常量時,必須使用類的名字。
雙冒號範圍解析操作符一般是用在靜態方法、靜態變數的調用,此時類不需要執行個體化。
而用箭頭操作符->時,必須要將類進行執行個體化(或者在類的內部調用也可以)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.