首頁  >  文章  >  後端開發  >  PHP的反射API

PHP的反射API

高洛峰
高洛峰原創
2017-02-28 15:11:321044瀏覽

PHP5新增了一項新的功能:Reflection。這個功能使得phper可以reverse-engineer class, interface,function,method and extension。透過PHP程式碼,就可以得到某object的所有訊息,並且可以和它互動。

PHP的反射API,即在PHP運行狀態下,透過分析PHP程序,可以導出物件所屬的類,方法,屬性,參數等資訊。

如何使用反射API

範例程式碼Person.php

PHP的反射API

#Person類,包含一個成員變數和三個成員方法

取得$student物件的方法和屬性清單

PHP的反射API

#ReflectionClass類別報告了一個類別的資訊

輸出結果為:name say __set __get

也可以用class函數,取得物件屬性的關聯數組的資訊

PHP的反射API

透過class()函數取得類別的資訊

列印結果:

PHP的反射API

#透過這個反射API,可以做hook實作外掛功能,動態代理等。

網路上找的動態代理範例

PHP的反射API

更多PHP的反射API相關文章請追蹤PHP中文網!


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