[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Reflection-Reference.xml
bloba931c99d7f97ed44dfe309cd4a4e889dda0e4e5e
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20854 -->
4 <sect1 id="zend.reflection.reference">
5     <title>Zend_Reflectionリファレンス</title>
7     <para>
8         <classname>Zend_Reflection</classname>の様々なクラスは、
9         <acronym>PHP</acronym>の<ulink url="http://php.net/reflection">Reflection <acronym>API</acronym></ulink>の<acronym>API</acronym>に良く似ています。
10         しかし、一つ重要な違いがあります。
11         <acronym>PHP</acronym>のReflection <acronym>API</acronym>はdocblock注釈タグの内部、パラメータ変数の型も返す型も、
12         参照することができません。
13     </para>
15     <para>
16         <classname>Zend_Reflection</classname>は、
17         パラメーター変数の型や返す型を判断するために、
18         メソッドのdocblock注釈を解析します。
19         特に<code>@param</code>及び<code>@return</code>注釈が使われます。
20         しかしながら、"短い"説明や"長い"説明ばかりではなく、
21         その他の注釈タグも検査できます。
22     </para>
24     <para>
25         <classname>Zend_Reflection</classname>のそれぞれのReflectionオブジェクトは、
26         <classname>Zend_Reflection_Docblock</classname>のインスタンスを返すように、
27         <code>getDocblock()</code>を上書きします。
28         このクラスはdocblock及び注釈タグを参照できるようにします。
29     </para>
31     <para>
32         <classname>Zend_Reflection_File</classname>は<acronym>PHP</acronym>ファイルの内部を参照できる新しいReflectionクラスです。
33         それを使って、<acronym>PHP</acronym>ファイルに含まれるクラスや関数、グローバルな<acronym>PHP</acronym>コードを取得できます。
34     </para>
36     <para>
37         最後に、その他のReflectionオブジェクトを返す様々なメソッドにおいて、
38         2番目の引数としてクラス名を、
39         返されたReflectionオブジェクトで使用できます。
40     </para>
42     <sect2 id="zend.reflection.reference.docblock">
43         <title>Zend_Reflection_Docblock</title>
45         <para>
46             <classname>Zend_Reflection_Docblock</classname>は
47             <acronym>PHP</acronym>のReflection <acronym>API</acronym>以上に<classname>Zend_Reflection</classname>に価値を付与する心臓部です。
48             それには下記のメソッドがあります:
49         </para>
51         <itemizedlist>
52             <listitem><para>
53                 <code>getContents()</code>: docblockの完全な内容を返します
54             </para></listitem>
56             <listitem><para>
57                 <code>getStartLine()</code>: 定義されたファイル内での
58                 docblock開始位置を返します
59             </para></listitem>
61             <listitem><para>
62                 <code>getEndLine()</code>: 定義されたファイル内での
63                 docblock終了行を返します
64             </para></listitem>
66             <listitem><para>
67                 <code>getShortDescription()</code>: 短い、一行の説明を取得します
68                 (たいていはdocblockの最初の行)
69             </para></listitem>
71             <listitem><para>
72                 <code>getLongDescription()</code>: docblockの長い説明を取得します
73             </para></listitem>
75             <listitem><para>
76                 <code>hasTag($name)</code>: 与えられた注釈タグが
77                 docblockにあるかどうか判断します
78             </para></listitem>
80             <listitem><para>
81                 <code>getTag($name)</code>: 与えられた注釈タグのReflectionオブジェクト、
82                 または存在しない場合<constant>FALSE</constant>を返します
83             </para></listitem>
85             <listitem><para>
86                 <code>getTags($filter)</code>: 全てのタグ、
87                 または与えられた<varname>$filter</varname>文字列に一致する全てのタグを取得します。
88                 タグは<classname>Zend_Reflection_Docblock_Tag</classname>オブジェクトの配列として返されます。
89             </para></listitem>
90         </itemizedlist>
91     </sect2>
93     <sect2 id="zend.reflection.reference.docblock-tag">
94         <title>Zend_Reflection_Docblock_Tag</title>
96         <para>
97             <classname>Zend_Reflection_Docblock_Tag</classname>は個別の注釈タグのためのReflectionを提供します。
98             ほとんどのタグは名前と説明から構成されています。
99             いくつかの特別なタグの場合には、
100             適切なクラスのインスタンスを取得するための、
101             ファクトリーメソッドをクラスで提供します。
102         </para>
104         <para>
105             下記のメソッドは<classname>Zend_Reflection_Docblock_Tag</classname>のために定義されています:
106         </para>
108         <itemizedlist>
109             <listitem><para>
110                 <code>factory($tagDocblockLine)</code>: 注釈タグReflectionクラスをインスタンス化して返します。
111             </para></listitem>
113             <listitem><para>
114                 <code>getName()</code>: 注釈タグの名前を返します
115             </para></listitem>
117             <listitem><para>
118                 <code>getDescription()</code>: 注釈の説明を返します
119             </para></listitem>
120         </itemizedlist>
121     </sect2>
123     <sect2 id="zend.reflection.reference.docblock-tag-param">
124         <title>Zend_Reflection_Docblock_Tag_Param</title>
126         <para>
127             <classname>Zend_Reflection_Docblock_Tag_Param</classname>は
128             <classname>Zend_Reflection_Docblock_Tag</classname>の特化したバージョンです。
129             <code>@param</code>注釈タグの説明はパラメータの型及び変数名、変数の説明から構成されています。
130             このクラスにより下記のメソッドが<classname>Zend_Reflection_Docblock_Tag</classname>に追加されます:
131         </para>
133         <itemizedlist>
134             <listitem><para>
135                 <code>getType()</code>: パラメータ変数の型を返します
136             </para></listitem>
138             <listitem><para>
139                 <code>getVariableName()</code>: パラメータ変数の名前を返します
140             </para></listitem>
141         </itemizedlist>
142     </sect2>
144     <sect2 id="zend.reflection.reference.docblock-tag-return">
145         <title>Zend_Reflection_Docblock_Tag_Return</title>
147         <para>
148             <classname>Zend_Reflection_Docblock_Tag_Param</classname>のように、
149             <classname>Zend_Reflection_Docblock_Tag_Return</classname>は
150             <classname>Zend_Reflection_Docblock_Tag</classname>の特化したバージョンです。
151             <code>@return</code>注釈タグの説明は返す型及び変数の説明から構成されています。
152             このクラスにより下記のメソッドが<classname>Zend_Reflection_Docblock_Tag</classname>に追加されます:
153         </para>
155         <itemizedlist>
156             <listitem><para>
157                 <code>getType()</code>: 戻す型を返します
158             </para></listitem>
159         </itemizedlist>
160     </sect2>
162     <sect2 id="zend.reflection.reference.file">
163         <title>Zend_Reflection_File</title>
165         <para>
166             <classname>Zend_Reflection_File</classname>により<acronym>PHP</acronym>ファイル内部を参照できます。
167             それを使って、ファイルで定義されたクラスや関数、生の<acronym>PHP</acronym>コードを参照できます。
168             下記の関数が定義されています:
169         </para>
171         <itemizedlist>
172             <listitem><para>
173                 <code>getFileName()</code>: Reflectionを使用したファイルの名前を取得します
174             </para></listitem>
176             <listitem><para>
177                 <code>getStartLine()</code>: ファイルの開始行を返します(常に1)
178             </para></listitem>
180             <listitem><para>
181                 <code>getEndLine()</code> 最終行、ファイル中の行数を取得します
182             </para></listitem>
184             <listitem><para>
185                 <code>getDocComment($reflectionClass =
186                     'Zend_Reflection_Docblock')</code>: ファイルレベルのdocblock Reflectionオブジェクトを取得します
187             </para></listitem>
189             <listitem><para>
190                 <code>getClasses($reflectionClass =
191                     'Zend_Reflection_Class')</code>: Reflectionオブジェクトの配列を取得します。
192                     ファイルに定義されているそれぞれのクラスです。
193             </para></listitem>
195             <listitem><para>
196                 <code>getFunctions($reflectionClass =
197                     'Zend_Reflection_Function')</code>: Reflectionオブジェクトの配列を取得します。
198                     ファイルに定義されているそれぞれの関数です。
199             </para></listitem>
201             <listitem><para>
202                 <code>getClass($name = null, $reflectionClass =
203                     'Zend_Reflection_Class')</code>: 一つのクラスのReflectionオブジェクトの配列を取得します
204             </para></listitem>
206             <listitem><para>
207                 <code>getContents()</code>: ファイルの全てのコンテンツを取得します。
208             </para></listitem>
209         </itemizedlist>
210     </sect2>
212     <sect2 id="zend.reflection.reference.class">
213         <title>Zend_Reflection_Class</title>
215         <para>
216             <classname>Zend_Reflection_Class</classname>は<classname>ReflectionClass</classname>を拡張して、
217             その<acronym>API</acronym>に追随します。
218             ひとつ追加のメソッド、<code>getDeclaringFile()</code>を追加します。
219             それは定義されたファイルでの<classname>Zend_Reflection_File</classname> Reflectionオブジェクトを
220             取得するために使われるでしょう。
221         </para>
223         <para>
224             さらに、下記のメソッドはReflectionオブジェクトを取り出すときに使う
225             Reflectionクラスを指定する際に追加の変数を加えます。:
226         </para>
228         <itemizedlist>
229             <listitem><para>
230                 <code>getDeclaringFile($reflectionClass = 'Zend_Reflection_File')</code>
231             </para></listitem>
233             <listitem><para>
234                 <code>getDocblock($reflectionClass = 'Zend_Reflection_Docblock')</code>
235             </para></listitem>
237             <listitem><para>
238                 <code>getInterfaces($reflectionClass = 'Zend_Reflection_Class')</code>
239             </para></listitem>
241             <listitem><para>
242                 <code>getMethod($reflectionClass = 'Zend_Reflection_Method')</code>
243             </para></listitem>
245             <listitem><para>
246                 <code>getMethods($filter = -1, $reflectionClass = 'Zend_Reflection_Method')</code>
247             </para></listitem>
249             <listitem><para>
250                 <code>getParentClass($reflectionClass = 'Zend_Reflection_Class')</code>
251             </para></listitem>
253             <listitem><para>
254                 <code>getProperty($name, $reflectionClass =
255                     'Zend_Reflection_Property')</code>
256             </para></listitem>
258             <listitem><para>
259                 <code>getProperties($filter = -1, $reflectionClass =
260                     'Zend_Reflection_Property')</code>
261             </para></listitem>
263         </itemizedlist>
264     </sect2>
266     <sect2 id="zend.reflection.reference.extension">
267         <title>Zend_Reflection_Extension</title>
269         <para>
270             <classname>Zend_Reflection_Extension</classname>は<classname>ReflectionExtension</classname>を拡張して、
271             その<acronym>API</acronym>に追随します。
272             それはReflectionオブジェクトを取り出すときに使う
273             Reflectionクラスを指定する際に追加の変数を加えて、
274             下記のメソッドを上書きします。
275         </para>
277         <itemizedlist>
278             <listitem><para>
279                 <code>getFunctions($reflectionClass =
280                     'Zend_Reflection_Function')</code>: エクステンションで定義された関数を
281                     示す配列を取得します。
282             </para></listitem>
284             <listitem><para>
285                 <code>getClasses($reflectionClass =
286                     'Zend_Reflection_Class')</code>: エクステンションで定義されたクラスを
287                     示す配列を取得します。
288             </para></listitem>
289         </itemizedlist>
290     </sect2>
292     <sect2 id="zend.reflection.reference.function">
293         <title>Zend_Reflection_Function</title>
295         <para>
296             <classname>Zend_Reflection_Function</classname>は、
297             返されたReflectionを使ってReflectionクラスを指定できるように、
298             いくつかのメソッドを上書きするばかりではなく、
299             関数の返り値を取得するメソッドを追加します。
300         </para>
302         <itemizedlist>
303             <listitem><para>
304                 <code>getDocblock($reflectionClass =
305                     'Zend_Reflection_Docblock')</code>: 関数docblockの
306                     Reflectionオブジェクトを取得します
307             </para></listitem>
309             <listitem><para>
310                 <code>getParameters($reflectionClass =
311                     'Zend_Reflection_Parameter')</code>: 関数のパラメータ
312                     Reflectionオブジェクト全ての配列を取得します
313             </para></listitem>
315             <listitem><para>
316                 <code>getReturn()</code>: 戻す型のReflectionオブジェクトを取得します
317             </para></listitem>
318         </itemizedlist>
319     </sect2>
321     <sect2 id="zend.reflection.reference.method">
322         <title>Zend_Reflection_Method</title>
324         <para>
325             <classname>Zend_Reflection_Method</classname>は<classname>Zend_Reflection_Function</classname>を継承して、
326             追加のメソッドを1つだけ上書きします:
327         </para>
329         <itemizedlist>
330             <listitem><para>
331                 <code>getParentClass($reflectionClass =
332                     'Zend_Reflection_Class')</code>: 親クラスのReflectionオブジェクトを取得します
333             </para></listitem>
334         </itemizedlist>
335     </sect2>
337     <sect2 id="zend.reflection.reference.parameter">
338         <title>Zend_Reflection_Parameter</title>
340         <para>
341             <classname>Zend_Reflection_Parameter</classname>は
342             戻されたReflectionオブジェクトで
343             Reflectionを使えるようにする上書きメソッドばかりではなく、
344             パラメータの型を取得するメソッドを追加します。
345         </para>
347         <itemizedlist>
348             <listitem><para>
349                 <code>getDeclaringClass($reflectionClass =
350                     'Zend_Reflection_Class')</code>: もし可能ならば、
351                     Reflectionオブジェクトとしてパラメータの宣言クラスを取得します。
352             </para></listitem>
354             <listitem><para>
355                 <code>getClass($reflectionClass =
356                     'Zend_Reflection_Class')</code>: もし可能ならば、
357                     Reflectionオブジェクトとしてパラメータのクラスを取得します。
358             </para></listitem>
360             <listitem><para>
361                 <code>getDeclaringFunction($reflectionClass =
362                     'Zend_Reflection_Function')</code>: もし可能ならば、
363                     Reflectionオブジェクトとしてパラメータの関数を取得します。
364             </para></listitem>
366             <listitem><para>
367                 <code>getType()</code>: パラメータの型を取得します
368             </para></listitem>
369         </itemizedlist>
370     </sect2>
372     <sect2 id="zend.reflection.reference.property">
373         <title>Zend_Reflection_Property</title>
375         <para>
376             <classname>Zend_Reflection_Property</classname>は、
377             戻されたReflectionオブジェクトクラスを指定するための、
378             メソッドを1つ上書きします。:
379         </para>
381         <itemizedlist>
382             <listitem><para>
383                 <code>getDeclaringClass($reflectionClass =
384                     'Zend_Reflection_Class')</code>: Reflectionオブジェクトとして
385                     プロパティーの宣言クラスを取得します
386             </para></listitem>
387         </itemizedlist>
388     </sect2>
389 </sect1>