最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別淺析

 更新時(shí)間:2017年08月17日 11:42:43   作者:KevinYan  
new static()是在PHP5.3版本中引入的新特性,無(wú)論是new static()還是new self(),都是new了一個(gè)新的對(duì)象。下面這篇文章主要給大家介紹了關(guān)于PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

本文主要跟大家介紹了關(guān)于PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別,這兩個(gè)方法new出來(lái)的對(duì)象有什么區(qū)別呢,說(shuō)白了就是new出來(lái)的到底是同一個(gè)類實(shí)例還是不同的類實(shí)例呢?下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

區(qū)別如下:

首先闡明結(jié)論,在PHP中 self指向定義了當(dāng)前被調(diào)用方法的類, static指向調(diào)用當(dāng)前靜態(tài)方法的類。

接下來(lái)通過(guò)一個(gè)例子來(lái)證明上面的結(jié)果

class A 
{
 public static $_a = 'Class A';

 public static function echoProperty()
 {
 echo self::$_a . PHP_EOL;
 }
}

class B extends A 
{
 public static $_a = 'Class B';
}

$obj = new B();
B::echoProperty();//輸出 Class A

之所以會(huì)這樣是因?yàn)槭褂胹elf:: 或者_(dá)_CLASS__對(duì)當(dāng)前類的靜態(tài)引用,取決于定義被調(diào)用方法所在的類,將上面Class A的方法echoProperty做一下修改變成:

class A 
{
 public static $_a = 'Class A';

 public static function echoProperty()
 {
 echo static::$_a . PHP_EOL;
 }
}
//再次調(diào)用B::echoProperty將輸出 'CLASS B'

為了避免上面第一個(gè)例子中看到的子類重寫(xiě)父類的靜態(tài)屬性后,使用繼承來(lái)的方法仍然訪問(wèn)父類的靜態(tài)屬性, PHP5.3增加了一個(gè)新的語(yǔ)法:后期靜態(tài)綁定(Late static binding), 使用static關(guān)鍵字替代self關(guān)鍵字,使得static指向與get_called_class()返回的相同的類,即當(dāng)前調(diào)用靜態(tài)方法的類, 該關(guān)鍵字對(duì)于靜態(tài)方法的訪問(wèn)同樣有效。

下面的例子更好的說(shuō)明了new self()和new static()之間的差異(后者使用了PHP的后期靜態(tài)綁定指向調(diào)用方法的當(dāng)前類)

class A 
{
 public static function get_self() 
 {
 return new self();
 }

 public static function get_static() 
 {
 return new static();
 }
}

class B extends A {}

echo get_class(B::get_self()); // A
echo get_class(B::get_static()); // B
echo get_class(A::get_self()); // A
echo get_class(A::get_static()); // A

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 淺談PHP中pack、unpack的詳細(xì)用法

    淺談PHP中pack、unpack的詳細(xì)用法

    這篇文章主要介紹了淺談PHP中pack、unpack的詳細(xì)用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 解決laravel session失效的問(wèn)題

    解決laravel session失效的問(wèn)題

    今天小編就為大家分享一篇解決laravel session失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 淺談php fopen下載遠(yuǎn)程文件的函數(shù)

    淺談php fopen下載遠(yuǎn)程文件的函數(shù)

    下面小編就為大家?guī)?lái)一篇淺談php fopen下載遠(yuǎn)程文件的函數(shù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • Laravel 4 初級(jí)教程之Pages、表單驗(yàn)證

    Laravel 4 初級(jí)教程之Pages、表單驗(yàn)證

    本篇教程是本系列的完結(jié)篇,要做的是Pages的詳細(xì)管理功能,表單驗(yàn)證以及命名空間的深度使用,和一個(gè)更好用的通知組件,并且布置一個(gè)簡(jiǎn)單的大作業(yè)。
    2014-10-10
  • PHP date函數(shù)常用時(shí)間處理方法

    PHP date函數(shù)常用時(shí)間處理方法

    這篇文章主要介紹了PHP date函數(shù)常用時(shí)間處理方法,本文介紹獲取今天、明天、昨天、一周后、一個(gè)月前、一個(gè)月后等時(shí)間的方法,需要的朋友可以參考下
    2015-05-05
  • 如何通過(guò)PHP安裝數(shù)據(jù)庫(kù)并使數(shù)據(jù)初始化

    如何通過(guò)PHP安裝數(shù)據(jù)庫(kù)并使數(shù)據(jù)初始化

    這篇文章主要介紹了如何通過(guò)PHP安裝數(shù)據(jù)庫(kù)并使數(shù)據(jù)初始化,其實(shí)原理就是通過(guò)構(gòu)建原生SQL來(lái)創(chuàng)建并初始化數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)據(jù)庫(kù)、使用數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)據(jù)表、新增數(shù)據(jù)、關(guān)閉連接,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 19個(gè)超實(shí)用的PHP代碼片段

    19個(gè)超實(shí)用的PHP代碼片段

    每位程序員和開(kāi)發(fā)者都喜歡討論他們最愛(ài)的代碼片段,尤其是當(dāng)PHP開(kāi)發(fā)者花費(fèi)數(shù)個(gè)小時(shí)為網(wǎng)頁(yè)編碼或創(chuàng)建應(yīng)用時(shí),他們更知道這些代碼的重要性。為了節(jié)約編碼時(shí)間,小編收集了一些較為實(shí)用的代碼片段,幫助開(kāi)發(fā)者提高工作效率
    2014-03-03
  • 基于laravel緩沖cache的用法詳解

    基于laravel緩沖cache的用法詳解

    今天小編就為大家分享一篇基于laravel緩沖cache的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 小偷PHP+Html+緩存

    小偷PHP+Html+緩存

    小偷PHP+Html+緩存...
    2006-12-12
  • thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例

    thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例

    這篇文章主要介紹了thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法,結(jié)合實(shí)例形式分析了thinkPHP5實(shí)現(xiàn)分頁(yè)查詢功能的相關(guān)控制器、模板等操作技巧,需要的朋友可以參考下
    2018-03-03

最新評(píng)論

开江县| 泽库县| 田林县| 宁德市| 临颍县| 宁化县| 邵东县| 石门县| 延吉市| 连山| 崇义县| 瓦房店市| 琼中| 明光市| 安泽县| 余庆县| 谢通门县| 衡东县| 弥渡县| 宣城市| 商洛市| 莫力| 银川市| 阳城县| 田阳县| 三原县| 寻乌县| 曲周县| 顺义区| 临漳县| 始兴县| 福建省| 安西县| 焉耆| 澄迈县| 汉阴县| 永定县| 古蔺县| 遵化市| 香河县| 高唐县|