国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沅陵县| 长海县| 晋江市| 格尔木市| 昌乐县| 句容市| 探索| 汝南县| 迁西县| 长岭县| 博爱县| 石嘴山市| 霍山县| 苍山县| 彰武县| 浦城县| 中阳县| 凤冈县| 乌兰察布市| 天等县| 辉南县| 茂名市| 平度市| 德钦县| 安丘市| 乐业县| 疏附县| 茶陵县| 瓮安县| 东乡| 翼城县| 芜湖市| 临安市| 景德镇市| 宁波市| 喀什市| 凤山市| 滁州市| 永胜县| 河曲县| 莆田市|