校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP后期靜態綁定實例淺析

PHP后期靜態綁定實例淺析

熱門標簽:海南外呼系統方案 蘇州外呼系統有效果嗎 地圖標注怎么做商戶驗證 打開百度地圖標注 兼職做地圖標注好賺錢嗎 400 電話 辦理 亳州企業外呼系統 山東電銷卡外呼系統原理是什么 智能電銷語音機器人資訊

本文實例講述了PHP后期靜態綁定。分享給大家供大家參考,具體如下:

從php5.3開始,php增加了一個叫后期綁定的功能,用于在繼承范圍內引用靜態調用的類

該功能從語言內部角度考慮北命名為“后期靜態綁定”;“后期綁定”意思說:static::不再被解析為定義當前方法所在的類,而是在實際運行時計算的,也可以成為“靜態綁定”;因為他可以用于(但不限于靜態方法的調用)。

self::的限制

使用self::或者_class_對當前類的靜態引用,取決于定義當前方法所在的類

例子:

class A {
  public static function who() {
    echo __CLASS__;
  }
  public static function test() {
    self::who();
  }
}
class B extends A {
  public static function who() {
    echo __CLASS__;
  }
}
B::test(); //A

打印結果:

A

后期靜態綁定的用法

后期靜態綁定試圖通過引入一個關鍵字表示運行時最初調用的類來繞過限制。簡單的說,這個關鍵字能夠讓你在上述中調用test()時引用的類是B而不是A。最終決定不引用新的關鍵字,而是使用已經預留static關鍵字

例子:

?php
class A {
  public static function who() {
    echo __CLASS__;
  }
  public static function test() {
    static::who(); // 后期靜態綁定從這里開始
  }
}
class B extends A {
  public static function who() {
    echo __CLASS__;
  }
}
B::test();
?>

打印結果是:

B

后期靜態綁定的處理方式解決了以往完全沒有解決的靜態調用,另外一方面,如果靜態調用使用parent::或者self::將轉發調用信息

?php
class A {
  public static function foo() {
    static::who();
  }
  public static function who() {
    echo __CLASS__."\n";
  }
}
class B extends A {
  public static function test() {
    A::foo();
    parent::foo();
    self::foo();
  }
  public static function who() {
    echo __CLASS__."\n";
  }
}
class C extends B {
  public static function who() {
    echo __CLASS__."\n";
  }
}
C::test();
?>

打印結果:

A
C
C

例子:

?php
class a {
 static public function test() {
  print get_called_class();
 }
}
class b extends a {
}
a::test();
b::test();
?>

打印結果:

a
b

特別聲明:

get_called_class();獲得類的名稱靜態方法中調用

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP后期靜態綁定之self::限制實例分析
  • PHP類與對象后期靜態綁定操作實例詳解
  • 詳解PHP后期靜態綁定分析與應用
  • PHP面向對象之后期靜態綁定功能介紹
  • PHP Static延遲靜態綁定用法分析
  • PHP延遲靜態綁定示例分享
  • 簡單談談php延遲靜態綁定
  • php5.3后靜態綁定用法詳解
  • php延遲靜態綁定實例分析
  • PHP延遲靜態綁定的深入講解

標簽:呼倫貝爾 金華 紹興 萊蕪 安康 綏化 清遠 溫州

巨人網絡通訊聲明:本文標題《PHP后期靜態綁定實例淺析》,本文關鍵詞  PHP,后期,靜態,綁定,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP后期靜態綁定實例淺析》相關的同類信息!
  • 本頁收集關于PHP后期靜態綁定實例淺析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 吉木萨尔县| 呼和浩特市| 防城港市| 绥棱县| 桓台县| 扶绥县| 玉溪市| 西宁市| 平阴县| 民勤县| 赫章县| 清原| 长寿区| 乌海市| 井冈山市| 宣恩县| 资源县| 宁蒗| 浦北县| 隆德县| 关岭| 中西区| 尉氏县| 肥城市| 西昌市| 武强县| 吉首市| 麟游县| 平山县| 遂溪县| 华宁县| 梁河县| 沙雅县| 通山县| 孟津县| 新兴县| 临泉县| 锦屏县| 新民市| 西平县| 墨竹工卡县|