卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

PHP面向?qū)ο缶幊讨械腳_set和__get方法

在PHP面向?qū)ο缶幊讨校覀兘?jīng)常會遇到需要訪問protected和private修飾的屬性的情況。為了方便操作這些屬性,PHP提供了兩個特殊的魔術(shù)方法__set和__get。通過這兩個魔術(shù)方法,我們可

在PHP面向?qū)ο缶幊讨校覀兘?jīng)常會遇到需要訪問protected和private修飾的屬性的情況。為了方便操作這些屬性,PHP提供了兩個特殊的魔術(shù)方法__set和__get。通過這兩個魔術(shù)方法,我們可以實(shí)現(xiàn)對私有屬性的賦值和獲取。接下來我們將介紹如何編寫代碼來使用這兩個魔術(shù)方法。

編寫包含私有屬性的類

首先,我們需要編寫一個包含私有屬性的類。以下是一個示例代碼:

```php

class A {

private $n1;

private $n2;

}

```

在上面的代碼中,我們定義了一個名為A的類,并聲明了兩個private屬性$n1和$n2。

使用__set()和__get()方法

接下來,我們需要在類中實(shí)現(xiàn)__set()和__get()方法來成對使用,以實(shí)現(xiàn)對私有屬性的賦值和獲取。下面是相應(yīng)的代碼片段:

```php

public function __set($pro_name, $pro_val){

$this->$pro_name $pro_val;

}

public function __get($pro_val){

if(isset($pro_val)){

return $this->$pro_name;

} else {

return null;

}

}

```

在上面的代碼中,__set()方法用于設(shè)置私有屬性的值,而__get()方法用于獲取私有屬性的值。在__get()方法中,我們還進(jìn)行了對屬性是否存在的判斷。

創(chuàng)建對象并訪問私有屬性

現(xiàn)在,我們可以創(chuàng)建一個對象并嘗試訪問私有屬性。例如,我們可以創(chuàng)建一個對象$aq,并嘗試訪問它的$n1屬性。以下是相應(yīng)的代碼:

```php

$aq new A();

$aq->n1 39;

echo $a1->n1;

```

通過上面的代碼,我們成功地對私有屬性$n1進(jìn)行了賦值并獲取,并且可以正常地輸出$n1的值。

通過使用__set和__get這兩個魔術(shù)方法,我們可以更靈活地操作私有屬性,提高代碼的可讀性和可維護(hù)性。在實(shí)際項(xiàng)目開發(fā)中,合理地運(yùn)用這兩個方法將會給我們帶來很多便利。

標(biāo)簽: