站長資訊網
        最全最豐富的資訊網站

        PHP7中的匿名類使用方法

        在PHP7之后,PHP中加入了匿名類的特性。匿名類和匿名方法讓PHP成為了更現代化的語言,也讓我們的代碼開發工作越來越方便。我們先來看看匿名類的簡單使用。

        // 直接定義 $objA = new class {     public function getName()     {         echo "I'm objA";     } }; $objA->getName(); // 方法中返回 function testA() {     return new class     {         public function getName()         {             echo "I'm testA's obj";         }     }; } $objB = testA(); $objB->getName(); // 作為參數 function testB($testBobj) {     echo $testBobj->getName(); } testB(new class{         public function getName()     {             echo "I'm testB's obj";         }     });

        一次性給出了三種匿名類的使用方法。匿名類可以直接定義給變量,可以在方法中使用return返回,也可以當做參數傳遞給方法內部。其實,匿名類就像一個沒有事先定義的類,而在定義的時候直接就進行了實例化。

        // 繼承、接口、訪問控制等 class A {     public $propA = 'A';     public function getProp()     {         echo $this->propA;     } } trait B {     public function getName()     {         echo 'trait B';     } } interface C {     public function show(); } $p4 = 'b4'; $objC = new class($p4) extends A implements C {     use B;     private $prop1 = 'b1';     protected $prop2 = 'b2';     public $prop3 = 'b3';     public function __construct($prop4)     {         echo $prop4;     }     public function getProp()     {         parent::getProp();         echo $this->prop1, '===', $this->prop2, '===', $this->prop3, '===', $this->propA;         $this->getName();         $this->show();     }     public function show()     {         echo 'show';     } }; $objC->getProp();

        匿名類和普通類一樣,可以繼承其他類,可以實現接口,當然也包括各種訪問控制的能力。也就是說,匿名類在使用方面和普通類并沒有什么不同。但如果用get_class()獲取類名將是系統自動生成的類名。相同的匿名類返回的名稱當然也是相同的。

        // 匿名類的名稱是通過引擎賦予的 var_dump(get_class($objC)); // 聲明的同一個匿名類,所創建的對象都是這個類的實例 var_dump(get_class(testA()) == get_class(testA())); 那么匿名類中的靜態成員呢?當然也和普通類一樣,靜態成員是屬于類而不是實例的。 // 靜態變量 function testD() {     return new class{         public static $name;     }; } $objD1 = testD(); $objD1::$name = 'objD1'; $objD2 = testD(); $objD2::$name = 'objD2'; echo $objD1::$name;

        當類中的靜態變量修改時,所有類實例的這個靜態變量都會跟著變化。這也是普通類靜態成員的特性。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品午夜一级毛片密呀| 人妻VA精品VA欧美VA| 国产日韩久久久精品影院首页 | 九九热在线精品视频| 亚洲日韩中文在线精品第一| 国产情侣大量精品视频| 久久精品国产精品亚洲精品| 国产精品拍天天在线| 亚洲av永久无码精品古装片| 无码精品前田一区二区| 国产在线精品一区二区不卡麻豆| 国产亚洲精品国产| 国产精品综合色区在线观看| 亚洲性日韩精品一区二区三区| 精品成人一区二区三区四区| 国产精品v欧美精品v日韩| 亚洲国产成人久久精品动漫| 国产精品久久波多野结衣| 99在线精品视频在线观看| 久久精品国产亚洲AV电影| 色欲久久久天天天综合网精品| 四虎亚洲国产成人久久精品| 精品国产AⅤ一区二区三区4区| 国产亚洲精品AA片在线观看不加载 | 久久久久人妻一区精品果冻| 国产午夜精品久久久久九九电影| 999国产精品视频| 91大神精品全国在线观看| 91精品国产高清久久久久久91| 51精品资源视频在线播放| 91久久精品电影| 国产精品成人99久久久久| 成人亚洲日韩精品免费视频| 国产成人亚洲精品91专区手机 | 69堂午夜精品视频在线| 四虎国产精品永久一区| 87国产私拍福利精品视频| 2023国产精品自拍| 国产精品无码专区在线观看| 久久精品国产99国产精品| 久久久久这里只有精品 |