Zend_Server_Reflection.xml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect1 id="zend.server.reflection">
  5. <title>Zend_Server_Reflection(日本語)</title>
  6. <sect2 id="zend.server.reflection.introduction">
  7. <title>導入</title>
  8. <para>
  9. <classname>Zend_Server_Reflection</classname> は、サーバクラス群で
  10. 関数やクラスの内容を知るための標準的な仕組みを提供します。
  11. <acronym>PHP</acronym> 5 のリフレクション <acronym>API</acronym> をもとにして拡張したものです。
  12. パラメータや返り値の型と説明の取得、関数やメソッドのプロトタイプの一覧
  13. (つまり、すべての呼び出し可能な方法) の取得、関数またはメソッド
  14. の説明の取得なども可能です。
  15. </para>
  16. <para>
  17. この機能は、フレームワーク用のサーバクラス群の開発者のみが使用します。
  18. </para>
  19. </sect2>
  20. <sect2 id="zend.server.reflection.usage">
  21. <title>使用法</title>
  22. <para>
  23. 基本的な使用法は簡単です。
  24. </para>
  25. <programlisting language="php"><![CDATA[
  26. $class = Zend_Server_Reflection::reflectClass('My_Class');
  27. $function = Zend_Server_Reflection::reflectFunction('my_function');
  28. // プロトタイプを取得します
  29. $prototypes = $reflection->getPrototypes();
  30. // 各プロトタイプを処理します
  31. foreach ($prototypes as $prototype) {
  32. // 返り値の型を取得します
  33. echo "返り値の型: ", $prototype->getReturnType(), "\n";
  34. // パラメータを取得します
  35. $parameters = $prototype->getParameters();
  36. echo "パラメータ: \n";
  37. foreach ($parameters as $parameter) {
  38. // パラメータの型を取得します
  39. echo " ", $parameter->getType(), "\n";
  40. }
  41. }
  42. // クラス、関数あるいはメソッドの名前空間を取得します。
  43. // 名前空間は、インスタンス作成時 (二番目の引数) あるいは
  44. // setNamespace() で設定します。
  45. $reflection->getNamespace();
  46. ]]></programlisting>
  47. <para>
  48. <methodname>reflectFunction()</methodname> は
  49. <classname>Zend_Server_Reflection_Function</classname> オブジェクトを返します。
  50. <methodname>reflectClass</methodname> は
  51. <classname>Zend_Server_Reflection_Class</classname> オブジェクトを返します。
  52. これらのオブジェクトで使用できるメソッドについては
  53. <acronym>API</acronym> ドキュメントを参照ください。
  54. </para>
  55. </sect2>
  56. </sect1>
  57. <!--
  58. vim:se ts=4 sw=4 et:
  59. -->