亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php 魔術方法詳解

2024-05-04 23:27:07
字體:
來源:轉載
供稿:網友
本文給大家介紹了php面向對象當中的幾個魔術方法,并對此進行一一詳細介紹,希望對新手有所幫助。
 
 

從PHP 5以后的版本,PHP中的類就可以使用魔術方法了。其規定以兩個下劃線(__)開頭的方法都保留為魔術方法,所以建議大家函數名最好不用__開頭,除非是為了重載已有的魔術方法。PHP 將所有以 _ _(兩個下劃線)開頭的類方法保留為魔術方法。

__toString() 和__invoke()

public string __toString ( void ):當對象被當做string使用時,這個方法會被自動調用。此方法必須返回一個字符串

 

復制代碼代碼如下:

<?php
    class Magic{
        public function  __tostring(){
            return "hello world!";
        }
    }
    $obj = new Magic();
    echo $obj;//hello world!
?>

 

__invoke():當對象被當成方法調用時,這個方法會被自動調用。

 

復制代碼代碼如下:

<?php
    class Magic{
        public function  __tostring(){
            return "hello world!";
        }
        public function __invoke($x){
            echo "__invoke called with param ".$x."/n";
        }
    }
    $obj = new Magic();
    $obj(10);//__invoke called with param 10 
?>

 

__call()和__callStatic()

__call():當對象訪問不存在的方法名稱時,__call()方法會被自動調用

__callStatic():當對象訪問不存在的靜態方法名稱時,__callStatic()方法會被自動調用

通過這兩個方法,同一個方法的名稱的調用可以對應不同的方法實現

 

復制代碼代碼如下:

<?php
class Magic{
   //`$name` 參數是要調用的方法名稱。`$arguments` 參數是一個枚舉數組,
  //包含著要傳遞給方法 `$name` 的參數。
        public function __call($name,$arguments){
            //implode() 函數把數組元素組合為一個字符串。implode(separator,array)
            echo "Calling " . $name ." with param: ".implode(", ",$arguments)."/n";
        }
    }
$obj = new Magic();
$obj->run("para1","para2");//obj去調用run方法,輸出:Calling run with param: para1, para2   
?>

 

__get()和__set()

在給不可訪問屬性賦值時,__set()會被調用
讀取不可訪問屬性的值時,__get()會被調用

 

復制代碼代碼如下:

<?php
class Magic{
     //function 前要有static關鍵字
    public function __get($name){
        return "Getting the property " . $name;
    }
}
$obj = new Magic();
echo $obj->className."/n";//Getting the property className 
?>

 

讀取不可訪問屬性的值時,__get()會被調用

 

復制代碼代碼如下:

<?php
class Magic{

 

    public function __set($name,$value){
        echo "Setting the property " . $name ."to value ". $value ."/n";
    }
}
$obj = new Magic();
$obj->className = 'MagicClass';//Setting the property classNameto value MagicClass 
?>

 

__isset()和__unset()

當對不可訪問屬性調用isset()或empty()時,__isset()會被調用
當對不可訪問屬性調用unset()時,__unset()會被調用

 

復制代碼代碼如下:

<?php
class Magic{
    public function __isset($name){
        echo "__isset invoked/n";
        return true;
    }
}
$obj = new Magic();
echo '$obj->className is set?'.isset($obj->className)."/n";//__isset invoked     $obj->className is set?1 
?>

 

以上便是8個php面向對象的魔術方法的介紹與示例,希望對大家能有所幫助


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美另类交人妖| 欧美日韩视频免费播放| 亚洲欧美综合精品久久成人| 国产精品美女无圣光视频| 欧美多人乱p欧美4p久久| 欧美激情videos| 57pao成人永久免费视频| 久久成人精品电影| 日韩亚洲综合在线| 一个人看的www欧美| 国产精品精品久久久| 久久久久久欧美| 美女扒开尿口让男人操亚洲视频网站| 中文字幕无线精品亚洲乱码一区| 中日韩美女免费视频网站在线观看| 国产精品v日韩精品| 97久久久免费福利网址| 久久久人成影片一区二区三区| 琪琪第一精品导航| 欧美黑人一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 久热精品视频在线免费观看| 永久555www成人免费| 奇米四色中文综合久久| 亚洲精品之草原avav久久| 国产精品成人免费电影| 亚洲人成网站免费播放| 日韩欧美精品在线观看| 久久影视电视剧免费网站清宫辞电视| 亚洲精品久久久久中文字幕欢迎你| 久久青草福利网站| 国产精品自拍小视频| 久久久人成影片一区二区三区| 欧美孕妇孕交黑巨大网站| 国产精品www色诱视频| 亚洲欧美国产一本综合首页| 久久精品影视伊人网| 黑人极品videos精品欧美裸| 日韩高清电影免费观看完整| 91欧美精品成人综合在线观看| 91亚洲精品久久久久久久久久久久| 九色成人免费视频| 成人国产精品久久久| 欧美成人午夜影院| 国产成+人+综合+亚洲欧美丁香花| 日韩av色综合| 国产精品主播视频| 日韩精品极品在线观看播放免费视频| 国产精品久久二区| 中文字幕亚洲国产| 国产69精品99久久久久久宅男| 性色av一区二区三区| 色妞色视频一区二区三区四区| 国产欧美精品一区二区三区介绍| 久久久久中文字幕| 国产99久久精品一区二区永久免费| 国产91精品视频在线观看| 欧美国产日韩精品| 亚洲第一网站男人都懂| 亚洲性日韩精品一区二区| 富二代精品短视频| 美女视频久久黄| 亚洲九九九在线观看| 在线看欧美日韩| 欧美激情国产精品| 国产精品成久久久久三级| 91精品国产91久久久久久不卡| 日韩欧美国产骚| 国产精品免费在线免费| 亚洲精品欧美日韩专区| 日韩av电影在线播放| 欧美日韩国产丝袜美女| 97国产在线观看| 国产69精品久久久久9999| 中文字幕亚洲综合久久| 国产精品久久久亚洲| 91精品国产亚洲| 亚洲天堂免费在线| 国产亚洲欧美另类中文| 日韩欧美精品免费在线| 国产精品一区二区女厕厕| 精品中文字幕久久久久久| 日韩美女福利视频| 午夜精品久久久久久久久久久久| 97色在线视频观看| 亚洲天堂av女优| 精品成人在线视频| 精品欧美aⅴ在线网站| 欧美电影免费观看高清完整| 国产精品视频播放| 亚洲www在线观看| 黄色成人在线免费| 91免费人成网站在线观看18| 在线看福利67194| 国产剧情久久久久久| 正在播放国产一区| 色综合视频一区中文字幕| 国外色69视频在线观看| 亚洲午夜未删减在线观看| 色yeye香蕉凹凸一区二区av| 黑人巨大精品欧美一区免费视频| 国产精品久久久久久五月尺| 97视频在线看| 欧美午夜丰满在线18影院| 欧美日韩国产影院| 国产精自产拍久久久久久蜜| 国产一区二区三区精品久久久| 国产91精品最新在线播放| 欧美视频在线看| 久久91超碰青草是什么| 国产精品人成电影在线观看| 国产亚洲精品久久久优势| 久久视频在线直播| 亚洲三级 欧美三级| 欧美精品亚州精品| 亚洲天堂av综合网| 国产精品久久久久av| 成人网页在线免费观看| 中文字幕精品久久久久| 国产亚洲精品一区二555| 欧美日韩国产中文精品字幕自在自线| 国产精品免费一区| 日韩成人中文电影| 午夜美女久久久久爽久久| 国产欧美日韩精品在线观看| 91精品久久久久久久久久入口| 国产精品精品久久久| 91社区国产高清| 精品色蜜蜜精品视频在线观看| 精品亚洲一区二区三区在线观看| 日韩中文字幕在线播放| 亚洲成人a**站| 精品久久久91| 欧美国产日韩视频| 亚洲国产精品99| 日韩av在线看| 国产精品444| 性色av一区二区三区红粉影视| 57pao精品| 91精品国产高清久久久久久91| 丁香五六月婷婷久久激情| 日本精品性网站在线观看| 欧美一级片一区| 国产婷婷色综合av蜜臀av| 成人福利网站在线观看11| 粗暴蹂躏中文一区二区三区| 亚洲第一福利网站| 国产成人在线一区二区| 中文字幕v亚洲ⅴv天堂| 国产精品久久中文| 久久久电影免费观看完整版| 欧美精品一区二区免费| 亚洲情综合五月天| 欧美亚洲国产视频| 日韩最新免费不卡| 九色精品免费永久在线| 欧美精品videosex性欧美| 国产精品精品久久久| 97超级碰碰人国产在线观看| 在线观看91久久久久久| 亚洲理论在线a中文字幕| 国产欧美一区二区白浆黑人| 精品亚洲aⅴ在线观看| 91福利视频在线观看|