色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php PHP 匿名類

韓冬雪1年前7瀏覽0評論
PHP 匿名類——成為PHP高級程序員的必修課
PHP 匿名類是PHP 7中的新特性。它是在聲明時沒有指定類名的一種類,通常用于臨時創(chuàng)建對象,可以省略類名,將其作為回調(diào)函數(shù)的參數(shù)或返回值傳遞。在代碼中,更加方便和簡潔,大大提高了代碼的可用性和閱讀性。
首先看下面這個例子,我們首先以非匿名類的形式來展示代碼:
class User {
private $name;
<br>
    public function __construct($name) {
$this->name = $name;
}
<br>
    public function getName() {
return $this->name;
}
}
<br>
$user = new User('Tom');
echo $user->getName(); // 輸出:Tom

接著我們用PHP匿名類方式來改寫上面的代碼:
$user = new class('Tom') {
private $name;
<br>
    public function __construct($name) {
$this->name = $name;
}
<br>
    public function getName() {
return $this->name;
}
};
<br>
echo $user->getName(); // 輸出:Tom

從上面的比較中可以看出,使用PHP匿名類方式可以將User類中相對麻煩的類名省略掉。在匿名類中,構(gòu)造器和方法的定義與普通的類完全相同。因此,如果你已經(jīng)掌握了PHP中的類和對象的相關(guān)知識,那么使用匿名類是非常輕松的。
接下來,我們需要注意的是,匿名類不會出現(xiàn)在 PHP 跟蹤棧信息中,也就是說,debug相對麻煩。同樣,類名不會賦予反射。而采用非匿名方式的類卻是可以被反射的。此外,在 PHP 中,我們可以使用任意數(shù)量和類型的參數(shù)創(chuàng)建匿名類對象,只要它們在類構(gòu)造函數(shù)的參數(shù)列表中被列出。
// 創(chuàng)建匿名PHP類對象
$customer = new class(26, 'female', 'Shanghai') {
public function __construct($age, $gender, $city) {
$this->age = $age;
$this->gender = $gender;
$this->city = $city;
}
<br>
  public function getAge() {
return $this->age;
}
<br>
  public function getGender() {
return $this->gender;
}
<br>
  public function getCity() {
return $this->city;
}
};
<br>
echo $customer->getAge . '<br>';
echo $customer->getGender . '<br>';
echo $customer->getCity . '<br>';

同時,PHP還提供了匿名類繼承機制,不同的是,在定義匿名類時指定基類;而在基類中定義的屬性和方法在匿名類中則可以使用。
$person = new class extends Person {
public function getName(){
return 'Tom';
}
};
echo $person->getName();

綜上所述,使用PHP匿名類的好處顯而易見,它能夠簡化代碼,提高代碼可閱讀性和可維護性,讓代碼的表現(xiàn)更加簡潔、優(yōu)雅。
總之,匿名類是一個很好的擴展,可以加快你的PHP編程效率。掌握PHP匿名類,可以使你在面向?qū)ο缶幊讨凶叩酶h,成為一個更優(yōu)秀的PHP程序員。
下一篇caffe gpu div