国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP Static延遲靜態綁定用法分析

2024-05-04 23:44:02
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP Static延遲靜態綁定用法,結合實例形式較為詳細的分析了Static延遲靜態綁定的功能,定義及使用技巧,需要的朋友可以參考下
 

本文實例講述了PHP Static延遲靜態綁定用法。分享給大家供大家參考,具體如下:

PHP5.3以后引入了延遲靜態綁定static,它是為了解決什么問題呢?php的繼承模型中有一個存在已久的問題,那就是在父類中引用擴展類的最終狀態比較困難。來看一個例子。

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

在PHP5.3中加入了一個新特性:延遲靜態綁定,就是把本來在定義階段固定下來的表達式或變量,改在執行階段才決定,比如當一個子類繼承了父類的靜態表達式的時候,它的值并不能被改變,有時不希望看到這種情況。

下面的例子解決了上面提出的問題:

class A {   public static function echoClass(){     echo __CLASS__;   }   public static function test()   {     static::echoClass();      } } class B extends A {      public static function echoClass(){      echo __CLASS__;   } } B::test(); //輸出B

第8行的static::echoClass();定義了一個靜態延遲綁定方法,直到B調用test的時候才執行原本定義的時候執行的方法。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐庐县| 宁南县| 天津市| 西乌珠穆沁旗| 鹿邑县| 扬中市| 荃湾区| 来安县| 吉林市| 称多县| 大丰市| 浪卡子县| 德清县| 象山县| 葵青区| 安多县| 沧源| 南充市| 鄂托克旗| 泗洪县| 宜都市| 馆陶县| 武陟县| 孟连| 三江| 桃源县| 谢通门县| 榆中县| 鄂温| 和田县| 德保县| 连城县| 罗源县| 绥棱县| 佳木斯市| 永登县| 宝兴县| 屏东市| 龙里县| 竹北市| 布尔津县|