導入

Zend_Server_Reflection(日本語)

導入

Zend_Server_Reflection は、サーバクラス群で 関数やクラスの内容を知るための標準的な仕組みを提供します。 PHP 5 のリフレクション API をもとにして拡張したものです。 パラメータや返り値の型と説明の取得、関数やメソッドのプロトタイプの一覧 (つまり、すべての呼び出し可能な方法) の取得、関数またはメソッド の説明の取得なども可能です。

この機能は、フレームワーク用のサーバクラス群の開発者のみが使用します。

使用法

基本的な使用法は簡単です。

  1. $class    = Zend_Server_Reflection::reflectClass('My_Class');
  2. $function = Zend_Server_Reflection::reflectFunction('my_function');
  3.  
  4. // プロトタイプを取得します
  5. $prototypes = $reflection->getPrototypes();
  6.  
  7. // 各プロトタイプを処理します
  8. foreach ($prototypes as $prototype) {
  9.  
  10.     // 返り値の型を取得します
  11.     echo "返り値の型: ", $prototype->getReturnType(), "\n";
  12.  
  13.     // パラメータを取得します
  14.     $parameters = $prototype->getParameters();
  15.  
  16.     echo "パラメータ: \n";
  17.     foreach ($parameters as $parameter) {
  18.         // パラメータの型を取得します
  19.         echo "    ", $parameter->getType(), "\n";
  20.     }
  21. }
  22.  
  23. // クラス、関数あるいはメソッドの名前空間を取得します。
  24. // 名前空間は、インスタンス作成時 (二番目の引数) あるいは
  25. // setNamespace() で設定します。
  26. $reflection->getNamespace();

reflectFunction()Zend_Server_Reflection_Function オブジェクトを返します。 reflectClassZend_Server_Reflection_Class オブジェクトを返します。 これらのオブジェクトで使用できるメソッドについては API ドキュメントを参照ください。


導入