《PHP應用:php類中的各種攔截器用法分析》要點:
本文介紹了PHP應用:php類中的各種攔截器用法分析,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰本文實例講述了php類中的各種攔截器用法.分享給大家供大家參考.具體用法分析如下:
PHP實戰1、__get( $property ) 拜訪未定義的屬性時調用
代碼如下:
class lanjie?
{?
??? function __get($name)?
??? {?
??????? echo $name." property not found! ";?
??? }?
}?
PHP實戰$ob = new lanjie();?
echo $ob->g;
PHP實戰當我們調用對象$ob未定義的屬性g時,調用攔截器__get()辦法,輸出"g property not found!”;
PHP實戰2、__set( $property , $value ) 給未定義的屬性調用時賦值
代碼如下:
class person?
{?
??? private $_age;?
??? private $_name;?
??? function __set($name, $value)?
??? {?
??????? $method = "set".? ucfirst($name);?
??????? echo $method;?
??????? if(method_exists($this, $method) )?
??????? {?
??????????? return $this->$method( $value );?
??????? }?
??? }?
?????
??? function setName( $name )?
??? {?
??????? $this->_name = $name;?
??????? if( !is_null($this->_name) )?
??????? {?
??????????? $this->_name = strtoupper($this->_name);?
??????? }?
??? }?
??? function setAge( $age )?
??? {?
??????? return $this->_age = (int)$age;?
??? }?
}?
?
$p = new person();?
$p->name = 'bob';?
print_r( array( $p ) );
PHP實戰這里我們可以很清楚的看到 , 當給未定義的'name'賦值時 ,? 會調用"__set()”
PHP實戰其他的還有 __call(), __isset() , __unset();
這里最有用和最常用的的是__call() , 當調用一個為存在的辦法時被調用; __isset()是在對一個為定義的屬性使用isset()函數時被調用, __unset是在對未定義的數以使用unset時被調用
PHP實戰希望本文所述對大家的PHP程序設計有所贊助.
維易PHP培訓學院每天發布《PHP應用:php類中的各種攔截器用法分析》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/14260.html