最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP的攔截器實(shí)例分析

 更新時(shí)間:2014年11月03日 11:36:24   投稿:shichen2014  
這篇文章主要介紹了PHP的攔截器,以實(shí)例形式分析了常見的各類攔截器的用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHP的攔截器用法。分享給大家供大家參考。具體如下:

PHP提供了幾個(gè)攔截器,用于在訪問未定義的方法和屬性時(shí)被調(diào)用,如下所示:

1、__get($property)
功能:訪問未定義的屬性是被調(diào)用

2、__set($property, $value)
功能:給未定義的屬性設(shè)置值時(shí)被調(diào)用

3、__isset($property)
功能:對(duì)未定義的屬性調(diào)用isset()時(shí)被調(diào)用

4、__unset($property)
功能:對(duì)未定義的屬性調(diào)用unset()時(shí)被調(diào)用

5、__call($method, $arg_array)
功能:調(diào)用未定義的方法時(shí)被調(diào)用

下面將通過一個(gè)小程序來說明這些攔截器的用途:

復(fù)制代碼 代碼如下:
class intercept_demo{
    private $xingming = "";
    private $age = 10;
  
    // 若訪問一個(gè)未定義的屬性,則將調(diào)用get{$property}對(duì)應(yīng)的方法
    function __get($property){
        $method = "get{$property}";
        if (method_exists($this, $method)){
            return $this->$method();
        }
    }

    // 若給一個(gè)未定義的屬性設(shè)置值,則將調(diào)用set{$property}對(duì)應(yīng)的方法
    function __set($property, $value){
        $method = "set{$property}";
        if (method_exists($this, $method)){
            return $this->$method($value);
        }  
    }
  
    // 若用戶對(duì)未定義的屬性調(diào)用isset方法,
    function __isset($property){
        $method = "isset{$property}";
        if (method_exists($this, $method)){
            return $this->$method();
        }
    }
  
    // 若用戶對(duì)未定義的屬性調(diào)用unset方法,
    // 則認(rèn)為調(diào)用對(duì)應(yīng)的unset{$property}方法
    function __unset($property){
        $method = "unset{$property}";
        if (method_exists($this, $method)){
            return $this->$method();
        }
    }
  
    function __call($method, $arg_array){
        if (substr($method,0,3)=="get"){
            $property = substr($method,3);
            $property = strtolower(substr($property,0,1)).substr($property,1);
            return $this->$property;
        }
    }
  
    function testIsset(){
        return isset($this->Name);
    }
  
    function getName(){
        return $this->xingming;
    }
  
    function setName($value){
        $this->xingming = $value;
    }
  
    function issetName(){
        return !is_null($this->xingming);
    }
  
    function unsetName(){
        $this->xingming = NULL;
    }
}

$intercept = new intercept_demo();
echo "設(shè)置屬性Name為L(zhǎng)i";
$intercept->Name = "Li";
echo "\$intercept->Name={$intercept->Name}";
echo "isset(Name)={$intercept->testIsset()}";
echo "";
echo "清空屬性Name值";
unset($intercept->Name);
echo "\$intercept->Name={$intercept->Name}";
echo "";
echo "調(diào)用未定義的getAge函數(shù)";
echo "age={$intercept->getAge()}";

希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能

    PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能

    有時(shí)候我們會(huì)需要使用PHP導(dǎo)出pdf。這篇文章主要是記錄一下laravel實(shí)現(xiàn)導(dǎo)出PDF的兩種方式。文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-10-10
  • PHP和Java 集成開發(fā)詳解分析 強(qiáng)強(qiáng)聯(lián)合

    PHP和Java 集成開發(fā)詳解分析 強(qiáng)強(qiáng)聯(lián)合

    很久以前,有人從www上看到看到天空上一個(gè)很亮的亮點(diǎn),它就是Java語言,與此同時(shí),在另一個(gè)地方一位夢(mèng)想家也看到了一個(gè)亮點(diǎn),它就是PHP.
    2008-11-11
  • php簡(jiǎn)單的上傳類分享

    php簡(jiǎn)單的上傳類分享

    這篇文章主要為大家分享了php簡(jiǎn)單的上傳類,具有一定的實(shí)用性,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 淺析php中如何在有限的內(nèi)存中讀取大文件

    淺析php中如何在有限的內(nèi)存中讀取大文件

    突然遇到了一個(gè)要讀取超過80M文件的需求,很悲劇的,不管是file_get_content還是file什么的,都會(huì)將讀取的文件一次性加載到內(nèi)存中
    2013-07-07
  • php常用日期時(shí)間函數(shù)實(shí)例小結(jié)

    php常用日期時(shí)間函數(shù)實(shí)例小結(jié)

    這篇文章主要介紹了php常用日期時(shí)間函數(shù),結(jié)合實(shí)例形式總結(jié)分析了php日期時(shí)間相關(guān)的時(shí)間戳、格式化、時(shí)區(qū)獲取與設(shè)置、時(shí)間戳轉(zhuǎn)換與計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • PHP面向?qū)ο蠓▌t

    PHP面向?qū)ο蠓▌t

    你不必嚴(yán)格遵守這些原則,違背它們也不會(huì)被處以宗教刑罰。但你應(yīng)當(dāng)把這些原則看成警鈴,若違背了其中的一條,那么警鈴就會(huì)響起
    2012-02-02
  • php外部執(zhí)行命令函數(shù)用法小結(jié)

    php外部執(zhí)行命令函數(shù)用法小結(jié)

    這篇文章主要介紹了php外部執(zhí)行命令函數(shù)用法,結(jié)合實(shí)例形式分析了exec與system執(zhí)行外部命令的相關(guān)使用技巧,需要的朋友可以參考下
    2016-10-10
  • PHP實(shí)現(xiàn)刪除字符串中任何字符的函數(shù)

    PHP實(shí)現(xiàn)刪除字符串中任何字符的函數(shù)

    這篇文章主要介紹了PHP實(shí)現(xiàn)刪除字符串中任何字符的函數(shù),涉及php針對(duì)字符串的遍歷與截取操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié)

    PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié)

    這篇文章主要介紹了PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié),并給出了一個(gè)綜合使用這些函數(shù)的例子做了一個(gè)簡(jiǎn)易文件瀏覽器,需要的朋友可以參考下
    2014-11-11
  • PHP中合并數(shù)組的常見方法分享

    PHP中合并數(shù)組的常見方法分享

    相信各位phper在日常開發(fā)中,會(huì)經(jīng)常遇到需要合并數(shù)組的場(chǎng)景。那么,在php中都有哪一些方法可以用來合并數(shù)組呢,本文為大家進(jìn)行了一個(gè)總結(jié),希望對(duì)大家有所幫助
    2022-11-11

最新評(píng)論

桐庐县| 定陶县| 桐城市| 米易县| 自治县| 广丰县| 武乡县| 陵水| 阜南县| 壶关县| 乐至县| 石门县| 万安县| 聊城市| 九江县| 名山县| 泽库县| 芜湖县| 内江市| 台北县| 襄垣县| 静乐县| 宜丰县| 建德市| 象山县| 额敏县| 故城县| 仪陇县| 日喀则市| 山西省| 襄汾县| 庆城县| 嵩明县| 陕西省| 宣汉县| 襄城县| 洞头县| 玉龙| 香格里拉县| 南阳市| 黔南|