亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

PHP延遲靜態綁定使用方法實例解析

瀏覽:77日期:2022-09-09 09:00:30

PHP的繼承模型中有一個存在已久的問題,那就是在父類中引用擴展類的最終狀態比較困難。我們來看一下代碼清單5-11中的例子。

代碼清單5-11 意想不到的繼承

<?php class ParentBase { static $property = ’Parent Value’; public static function render() { return self::$property; } } class Descendant extends ParentBase { static $property = ’Descendant Value’; } echo Descendant::render(); Parent Value

在這個例子中,render()方法中使用了self關鍵字,這是指ParentBase類而不是指Descendant類。在ParentBase::render()方法中沒法訪問$property的最終值。為了解決這個問題,需要在子類中重寫render()方法。

通過引入延遲靜態綁定功能,可以使用static作用域關鍵字訪問類的屬性或者方法的最終值,如代碼所示。

<?php class ParentBase { static $property = ’Parent Value’; public static function render() { return static::$property; }} class Descendant extends ParentBase { static $property = ’Descendant Value’; } echo Descendant::render(); Descendant Value

通過使用靜態作用域,可以強制PHP在最終的類中查找所有屬性的值。除了這個延遲綁定行為,PHP還添加了get_called_class()函數,這允許檢查繼承的方法是從哪個派生類調用的。以下代碼顯示了使用get_called_class()函數獲得當前的類調用場景的方法。

使用get_called_class()方法

<?php class ParentBase { public static function render() { return get_called_class(); } } class Decendant extends ParentBase {} echo Descendant::render(); Descendant

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: PHP
相關文章:
主站蜘蛛池模板: 欧美三级视频在线播放 | 青青草在线视频视频 | 老司机成人免费精品视频 | 国产国产人免费人成免费视频 | 色婷婷综合在线 | 日韩a在线播放 | 最新91在线 | 美国毛片一级 | 亚洲欧美成人综合在线 | 成人在线观看视频网站 | 最近免费中文在线视频 | 九九九九精品视频在线播放 | 亚洲香蕉综合在人在线时看 | 欧美亚洲国产激情一区二区 | 色 综合 欧美 亚洲 国产 | 91专区| 网站在线你懂的 | 日韩高清在线二区 | 特大一级aaaaa毛片 | 一级毛片无遮挡免费全部 | 中文无码日韩欧免费视频 | 国产欧美另类久久久品 | 51精品资源视频在线播放 | 99热在线获取最新地址 | 毛片免费网站 | 香蕉视频免费在线看 | 她也啪97在线视频 | 欧美一级特黄高清免费 | 日本无翼乌邪恶大全彩h邪恶师 | 国产精品宾馆在线精品酒店 | 亚洲视频二区 | 国产成人一区二区三区在线播放 | 日韩毛片在线免费观看 | 欧美成人亚洲综合精品欧美激情 | 午夜在线观看cao | 俄罗斯一级毛片免费播放 | 五月狠狠亚洲小说专区 | 免费区欧美一级毛片 | 亚a在线| 毛片免费观看久久欧美 | 色爱综合区 |