php 類的反射用法執行個體代碼

來源:互聯網
上載者:User
反射是操縱物件導向範型中元模型的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);    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.