[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Application-CoreFunctionality-Resource_ResourceAbstract.xml
blob878c593f00b6be153857d88f34f3cde8ca977d59
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20763 -->
4 <sect2 id="zend.application.core-functionality.resource-resourceabstract">
5     <title>Zend_Application_Resource_ResourceAbstract</title>
7     <para>
8         <classname>Zend_Application_Resource_ResourceAbstract</classname>は
9         <link
10             linkend="zend.application.core-functionality.resource-resource">Zend_Application_Resource_Resource</link>を
11         実装する抽象クラスで、
12         独自のカスタム・プラグイン・リソースを作成し始めるために適しています。
13     </para>
15     <para>
16         注意: この抽象クラスは、<methodname>init()</methodname>メソッドを実装しません;
17         クラスを具体的に拡張する定義のために残されます。
18     </para>
20     <table id="zend.application.core-functionality.resource-resourceabstract.api">
21         <title>Zend_Application_Resource_ResourceAbstractメソッド</title>
22         <tgroup cols="4">
23             <thead>
24                 <row>
25                     <entry>メソッド</entry>
26                     <entry>返り値</entry>
27                     <entry>パラメータ</entry>
28                     <entry>説明</entry>
29                 </row>
30             </thead>
31             <tbody>
32                 <row>
33                     <entry><methodname>__construct($options = null)</methodname></entry>
34                     <entry><type>Void</type></entry>
35                     <entry><itemizedlist>
36                         <listitem><para>
37                             <varname>$options</varname>: <emphasis>任意</emphasis>.
38                             リソース状態を設定するオプション
39                         </para></listitem>
40                     </itemizedlist></entry>
41                     <entry><para>
42                         状態を初期化するためのオプションを、コンストラクタに渡すことができなければなりません。
43                     </para></entry>
44                 </row>
46                 <row>
47                     <entry>
48                         <methodname>setBootstrap(Zend_Application_Bootstrap_Bootstrapper
49                             $bootstrap)</methodname>
50                     </entry>
51                     <entry><classname>Zend_Application_Resource_ResourceAbstract</classname></entry>
52                     <entry><itemizedlist>
53                             <listitem><para>
54                                 <varname>$bootstrap</varname>: <emphasis>必須</emphasis>.
55                                 このリソースを初期化する親ブートストラップ
56                             </para></listitem>
57                     </itemizedlist></entry>
58                     <entry><para>
59                         親ブートストラップ・オブジェクトを登録できるようにしなければいけません。
60                     </para></entry>
61                 </row>
63                 <row>
64                     <entry><methodname>getBootstrap()</methodname></entry>
65                     <entry><classname>Zend_Application_Bootstrap_Bootstrapper</classname></entry>
66                     <entry>N/A</entry>
67                     <entry><para>
68                         登録されたブートストラップ・インスタンスを取得します。
69                     </para></entry>
70                 </row>
72                 <row>
73                     <entry><methodname>setOptions(array $options)</methodname></entry>
74                     <entry><classname>Zend_Application_Resource_ResourceAbstract</classname></entry>
75                     <entry><itemizedlist>
76                         <listitem><para>
77                             <varname>$options</varname>: <emphasis>必須</emphasis>.
78                             状態を設定するオプション
79                         </para></listitem>
80                     </itemizedlist></entry>
81                     <entry><para>
82                         リソースの状態を設定。
83                     </para></entry>
84                 </row>
86                 <row>
87                     <entry><methodname>getOptions()</methodname></entry>
88                     <entry><type>Array</type></entry>
89                     <entry>N/A</entry>
90                     <entry><para>
91                         登録されたオプションを取得
92                     </para></entry>
93                 </row>
94             </tbody>
95         </tgroup>
96     </table>
98     <sect3 id="zend.application.core-functionality.resource-resourceabstract.names">
99         <title>リソース名</title>
101         <para>
102             プラグイン・リソースを登録するときに起きる問題の一つは、
103             どのように親ブートストラップ・クラスからそれらを参照すべきかということです。
104             利用されるかもしれない3通りの異なる手法があります。
105             そして、ブートストラップとそのプラグイン・リソースを構成した方法によって決まります。
106         </para>
108         <para>
109             最初に、プラグインが定義済みのプレフィックス・パスの中で定義されるなら、
110             それらの「短い名前」 ― すなわち、クラス・プレフィックスの後のクラス名の部分 ― 
111             によって単純にそれらを参照するかもしれません。
112             例えば、プレフィックス・パス "<classname>Zend_Application_Resource</classname>" がすでに登録されていたら、
113             クラス "<classname>Zend_Application_Resource_View</classname>" は単純に "View" として参照されるかもしれません。
114             完全なクラス名または短い名前を用いてそれらを登録するかもしれません:
115         </para>
117         <programlisting language="php"><![CDATA[
118 $app = new Zend_Application(APPLICATION_ENV, array(
119     'pluginPaths' => array(
120         'My_Resource' => 'My/Resource/',
121     ),
122     'resources' => array(
123         // もし下記のクラスが存在すれば:
124         'My_Resource_View' => array(),
126         // その場合、これは等価です:
127         'View' => array(),
128     ),
130 ]]></programlisting>
132         <para>
133             それならどの場合もリソースを起動できて、
134             後で短い名前を使って、それを取得できます:
135         </para>
137         <programlisting language="php"><![CDATA[
138 $bootstrap->bootstrap('view');
139 $view = $bootstrap->getResource('view');
140 ]]></programlisting>
142         <para>
143             第2には、マッチするプラグイン・パスが定義されないならば、
144             完全なクラス名によってリソースを今まで通り渡すかもしれません:
145         </para>
147         <programlisting language="php"><![CDATA[
148 $app = new Zend_Application(APPLICATION_ENV, array(
149     'resources' => array(
150         // 標準の 'View' リソースをロードします:
151         'View' => array(),
153         // 一方で固有のクラス名でリソースをロードします:
154         'My_Resource_View' => array(),
155     ),
157 ]]></programlisting>
159         <para>
160             明らかに、リソースの参照がもっと冗長になります:
161         </para>
163         <programlisting language="php"><![CDATA[
164 $bootstrap->bootstrap('My_Resource_View');
165 $view = $bootstrap->getResource('My_Resource_View');
166 ]]></programlisting>
168         <para>
169             これは、第3の選択肢です。
170             与えられたリソースクラスが登録する、明示的な名前を指定できます。
171             これは public <varname>$_explicitType</varname>プロパティを
172             リソース・プラグイン・クラスに文字列値で加えることによって実現されます;
173             その場合、ブートストラップを通してプラグイン・リソースを参照したいときはいつでも、その値が使われます。
174             例えば、独自のビュー・クラスを定義しましょう:
175         </para>
177         <programlisting language="php"><![CDATA[
178 class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
180     public $_explicitType = 'My_View';
182     public function init()
183     {
184         // 何らかの初期化実行...
185     }
187 ]]></programlisting>
189         <para>
190             We can then bootstrap that resource or retrieve it by the name
191             その場合、そのリソースを起動するか、または名前 "<classname>My_View</classname>" によって
192             取得できます:
193         </para>
195         <programlisting language="php"><![CDATA[
196 $bootstrap->bootstrap('My_View');
197 $view = $bootstrap->getResource('My_View');
198 ]]></programlisting>
200         <para>
201             これらのいろいろな命名方法を使用して、既存のリソースをオーバーライドできます。
202             そして、複雑な初期化を成し遂げるために、
203             独自のものを追加したり、複数のリソースを混ぜたりすることなどができます。
204         </para>
205     </sect3>
206 </sect2>