国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php類中的各種攔截器用法分析

2024-05-04 23:26:41
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php類中的各種攔截器用法,實例分析了PHP中常見的攔截器__get與__set的使用方法,具有一定的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了php類中的各種攔截器用法。分享給大家供大家參考。具體用法分析如下:

1、__get( $property ) 訪問未定義的屬性時調用

 

復制代碼代碼如下:
class lanjie  
{  
    function __get($name)  
    {  
        echo $name." property not found! ";  
    }  

 

$ob = new lanjie();  
echo $ob->g;

 

當我們調用對象$ob未定義的屬性g時,調用攔截器__get()方法,輸出"g property not found!”;

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 ) );

 

這里我們可以很清楚的看到 , 當給未定義的'name'賦值時 ,  會調用"__set()”

其他的還有 __call(), __isset() , __unset();
這里最有用和最常用的的是__call() , 當調用一個為存在的方法時被調用; __isset()是在對一個為定義的屬性使用isset()函數時被調用, __unset是在對未定義的數以使用unset時被調用

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巩义市| 成安县| 台前县| 沭阳县| 永济市| 军事| 兴城市| 普兰店市| 杭州市| 沅江市| 屏东市| 和林格尔县| 会昌县| 利辛县| 广州市| 乐平市| 辽源市| 铅山县| 嘉祥县| 克东县| 嘉黎县| 漠河县| 南城县| 东兰县| 灵丘县| 永城市| 曲阜市| 朝阳县| 九龙城区| 娱乐| 临颍县| 临猗县| 伊通| 获嘉县| 乐清市| 中江县| 博客| 时尚| 岱山县| 苗栗县| 唐山市|