反射是操縱物件導向範式中元模型的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中文網其他相關文章!