<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 后期靜態綁定 **self::** ```php <?php class A { public static function who() { echo __CLASS__; } public static function test() { self::who(); } } // A定義who和test,test里面靜態條用who // B繼承A,并重寫了who // 執行B::test() // 分析: // 執行的test()是B繼承A的,而test里面是靜態調用who的。而現在的who是被B重寫的,所以理應輸出B;但是test定義時,是靜態定義調用who的,who是A的,那么問題來了,B重寫的who會替代A:test()的定義嗎?答案是不會,因為輸出還是A。其實我們可以發現,這是php類的一個特性,那就是前期靜態綁定了,這和javascript閉包里面的靜態作用域很像 class B extends A { public static function who() { echo __CLASS__; } } B::test(); // A // $b = new B; // $b->test(); ``` 有沒有辦法突破php的這個特性呢,使其延后綁定,答案是:有,用關鍵字 static。 **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 ``` > 該功能從語言內部角度考慮被命名為“后期靜態綁定”。“后期綁定”的意思是說,static:: 不再被解析為定義當前方法所在的類,而是在實際運行時計算的。也可以稱之為“靜態綁定”,因為它可以用于(但不限于)靜態方法的調用。 更多細節、用法請查看官方文檔。 ### 參考 [PHP: 后期靜態綁定 - Manual](http://php.net/manual/zh/language.oop5.late-static-bindings.php) last update:2017-8-29 11:06:21
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看