ReflectionClass PHP中的反射類

2021-09-01 03:25:19 字數 1139 閱讀 6867

inte***ce iplugin

function findplugins()

} return $plugins;

} function computemenu() else

$menu = array_merge($menu,$items);

} }

return $menu;

} function computearticles() else

$articles = array_merge($articles,$items);

} }

return $articles;

} require_once('plugin.php');

$menu = computemenu();

$articles = computearticles();

print_r($menu);

print_r($articles);

**如下

<?php

class mycoolpugin implements iplugin

public static function getmenuitems()

public static function getarticles()

}上述**是php反射類的乙個應用。

什麼是php反射類,顧名思義,可以理解為乙個類的對映。

舉個例子:

class fuc

}$class=new reflectionclass('fuc'); //建立 fuc這個類的反射類

至於$class 這反射類裡有什麼東東,可以檢視手冊,這裡不詳解了

$fuc=$class->newinstance(); //相當於例項化 fuc 類

$fuc->ec(); //執行 fuc 裡的方法ec

其中還有一些更高階的用法

$ec=$class->getmethod('ec'); //獲取fuc 類中的ec方法

$fuc=$class->newinstance(); //例項化

$ec->invoke($fuc); //執行ec 方法

上面的過程很熟悉吧。其實和呼叫物件的方法類似

只不過這裡是反著來的,方法在前,物件在後

python 反射 python中的反射

什麼是反射?有時我們要訪問某個變數或是方法時並不知道到底有沒有這個變數或方法,所以就要做些判斷。判斷是否存在字串對應的變數及方法。我們知道訪問變數時是不能加引號的,否則會被當成字串處理。如果要通過字串找到對應的變數,那該怎麼辦呢 反射就是用於解決上面兩個問題而產生的,所謂反射,按我的理解就是反過來告...

c 中的反射

反射 reflection 是.net中的重要機制,通過放射,可以在執行時獲得.net中每乙個型別 包括類 結構 委託 介面和列舉等 的成員,包括方法 屬性 事件,以及建構函式等。還可以獲得每個成員的名稱 限定符和引數等。有了反射,即可對每乙個型別瞭如指掌。如果獲得了建構函式的資訊,即可直接建立物件...

C 中的反射

反射的定義 審查元資料並收集關於它的型別資訊的能力。元資料 編譯以後的最基本資料單元 就是一大堆的表,當編譯程式集或者模組時,編譯器會建立乙個類定義表,乙個字段定義表,和乙個方法定義表等,system.reflection命名空間包含的幾個類,允許你反射 解析 這些元資料表的 system.refl...