首頁  >  文章  >  後端開發  >  php 類別的反射用法實例程式碼

php 類別的反射用法實例程式碼

怪我咯
怪我咯原創
2017-07-12 16:17:141437瀏覽

反射是操縱物件導向範式中元模型的API,其功能十分強大,可協助我們建構複雜,可擴充的應用。其用途如:自動載入插件,自動產生文檔,甚至可用來擴充PHP 語言。 php 反射api 由若干類別組成,可幫助我們用來存取程式的元資料或同相關的註解互動。借助反射我們可以獲取諸如類別實現了那些方法,創建一個類別的實例(不同於用new 創建),調用一個方法(也不同於常規調用),傳遞參數,動態調用類別的靜態方法。

反射api 是php 內建的oop 技術擴展,包括一些類,異常和接口,綜合使用他們可用來幫助我們分析其它類,接口,方法,屬性,方法和擴展。這些oop 擴充被稱為反射,位於php 原始碼/ext/reflection目錄下。可以使用反射api 自省反射api 本身(這可能就是反射最初的意思,自己「看」自己):

這篇文章主要介紹了PHP類別的反射用法,實例講述了反射類別的常用操作,具有一定的參考借鑒價值,需要的朋友可以參考下

本文實例講述了PHP類別的反射用法。分享給大家供大家參考。具體實作方法如下:

此範例實作對於每個頻道取得對應的類別來執行對應的操作。具體如下:

 程式碼如下:

foreach($this->chs as $ch) {
    $className = $this->chsMap[$ch];
    if($className) { // 如果是合法的类名  
 // 获取反射类
 $class = new ReflectionClass($className);
 // 获取类的方法  
 $recd = $class->getmethod('exeRecd');
 // 生成类的实例  
 $instance = $class->newInstance($this->qq, $this->ip);
 // 执行方法  
 $result[$ch] = $recd->invoke($instance);
    }
}

以上是php 類別的反射用法實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn