Zend_Server_Reflection(日本語)
導入
Zend_Server_Reflection は、サーバクラス群で
関数やクラスの内容を知るための標準的な仕組みを提供します。
PHP 5 のリフレクション API をもとにして拡張したものです。
パラメータや返り値の型と説明の取得、関数やメソッドのプロトタイプの一覧
(つまり、すべての呼び出し可能な方法) の取得、関数またはメソッド
の説明の取得なども可能です。
この機能は、フレームワーク用のサーバクラス群の開発者のみが使用します。
使用法
基本的な使用法は簡単です。
$class = Zend_Server_Reflection::reflectClass('My_Class');
$function = Zend_Server_Reflection::reflectFunction('my_function');
// プロトタイプを取得します
$prototypes = $reflection->getPrototypes();
// 各プロトタイプを処理します
foreach ($prototypes as $prototype) {
// 返り値の型を取得します
echo "返り値の型: ",
$prototype->
getReturnType(),
"\n";
// パラメータを取得します
$parameters = $prototype->getParameters();
foreach ($parameters as $parameter) {
// パラメータの型を取得します
echo " ",
$parameter->
getType(),
"\n";
}
}
// クラス、関数あるいはメソッドの名前空間を取得します。
// 名前空間は、インスタンス作成時 (二番目の引数) あるいは
// setNamespace() で設定します。
$reflection->getNamespace();
reflectFunction() は
Zend_Server_Reflection_Function オブジェクトを返します。
reflectClass は
Zend_Server_Reflection_Class オブジェクトを返します。
これらのオブジェクトで使用できるメソッドについては
API ドキュメントを参照ください。