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

PHP的攔截器實例分析

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

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

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

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

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

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

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

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

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

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

    // 若給一個未定義的屬性設(shè)置值,則將調(diào)用set{$property}對應(yīng)的方法
    function __set($property, $value){
        $method = "set{$property}";
        if (method_exists($this, $method)){
            return $this->$method($value);
        }  
    }
  
    // 若用戶對未定義的屬性調(diào)用isset方法,
    function __isset($property){
        $method = "isset{$property}";
        if (method_exists($this, $method)){
            return $this->$method();
        }
    }
  
    // 若用戶對未定義的屬性調(diào)用unset方法,
    // 則認為調(diào)用對應(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為Li";
$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()}";

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

相關(guān)文章

  • PHP laravel實現(xiàn)導出PDF功能

    PHP laravel實現(xiàn)導出PDF功能

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

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

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

    php簡單的上傳類分享

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

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

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

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

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

    PHP面向?qū)ο蠓▌t

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

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

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

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

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

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

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

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

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

最新評論

邹城市| 梁山县| 松溪县| 南丰县| 延寿县| 白朗县| 大厂| 南通市| 揭西县| 类乌齐县| 旬阳县| 夏河县| 通化市| 莱州市| 洛扎县| 麻江县| 通州区| 武冈市| 广东省| 长垣县| 贺州市| 台州市| 弋阳县| 南昌县| 汝阳县| 鞍山市| 精河县| 武陟县| 朝阳市| 墨玉县| 保康县| 宝清县| 宝坻区| 疏附县| 巨野县| 伽师县| 团风县| 巧家县| 淅川县| 公主岭市| 刚察县|