1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- EN-Revision: 21119-->
4 <sect1 id="zend.server.reflection">
5 <title>Zend_Server_Reflection</title>
7 <sect2 id="zend.server.reflection.introduction">
11 <classname>Zend_Server_Reflection</classname> は、サーバクラス群で
12 関数やクラスの内容を知るための標準的な仕組みを提供します。
13 <acronym>PHP</acronym> 5 のリフレクション <acronym>API</acronym> をもとにして拡張したものです。
14 パラメータや返り値の型と説明の取得、関数やメソッドのプロトタイプの一覧
15 (つまり、すべての呼び出し可能な方法) の取得、関数またはメソッド
19 この機能は、フレームワーク用のサーバクラス群の開発者のみが使用します。
22 <sect2 id="zend.server.reflection.usage">
29 <programlisting language="php"><![CDATA[
30 $class = Zend_Server_Reflection::reflectClass('My_Class');
31 $function = Zend_Server_Reflection::reflectFunction('my_function');
34 $prototypes = $reflection->getPrototypes();
37 foreach ($prototypes as $prototype) {
40 echo "返り値の型: ", $prototype->getReturnType(), "\n";
43 $parameters = $prototype->getParameters();
46 foreach ($parameters as $parameter) {
48 echo " ", $parameter->getType(), "\n";
52 // クラス、関数あるいはメソッドの名前空間を取得します。
53 // 名前空間は、インスタンス作成時 (二番目の引数) あるいは
54 // setNamespace() で設定します。
55 $reflection->getNamespace();
59 <methodname>reflectFunction()</methodname> は
60 <classname>Zend_Server_Reflection_Function</classname> オブジェクトを返します。
61 <methodname>reflectClass</methodname> は
62 <classname>Zend_Server_Reflection_Class</classname> オブジェクトを返します。
63 これらのオブジェクトで使用できるメソッドについては
64 <acronym>API</acronym> ドキュメントを参照ください。