| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 24997 -->
- <sect2 id="zend.application.available-resources.frontcontroller">
- <title>Zend_Application_Resource_Frontcontroller(日本語)</title>
- <para>
- おそらく、あなたが<classname>Zend_Application</classname>でロードする
- 最も一般的なリソースはフロントコントローラ・リソースです。
- そして、それは<classname>Zend_Controller_Front</classname>を構成する能力を提供します。
- このリソースは、
- 任意のフロントコントローラ・パラメータを設定したり、初期化するプラグインを指定したり、
- そのほかにも能力を提供します。
- </para>
- <para>
- 一旦初期化されると、
- リソースはブートストラップの<varname>$frontController</varname>プロパティを
- <classname>Zend_Controller_Front</classname>インスタンスに割り当てます。
- </para>
- <para>
- 利用できる構成キーは以下を含みます。大文字と小文字の区別をしません:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis><property>controllerDirectory</property></emphasis>:
- コントローラ・ディレクトリを単独で指定している文字列値か、
- またはモジュールからコントローラ・ディレクトリへの連想配列。
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>moduleControllerDirectoryName</property></emphasis>:
- コントローラを含むモジュールの配下でサブディレクトリを示す文字列値
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>moduleDirectory</property></emphasis>:
- モジュールが見つかるかもしれないディレクトリ
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>defaultControllerName</property></emphasis>:
- デフォルト・コントローラの基底名。(通常は "index")
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>defaultAction</property></emphasis>:
- デフォルト・アクションの基底名。(通常は "index")
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>defaultModule</property></emphasis>:
- デフォルト・モジュールの基底名。(通常は "default")
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>baseUrl</property></emphasis>:
- アプリケーションに対して明示された基底<acronym>URL</acronym>
- (通常は自動検出)
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>plugins</property></emphasis>:
- フロントコントローラのプラグイン・クラス名配列
- このリソースは、各々のクラスを(コンストラクタ引数なしで)インスタンス化して、
- それからフロントコントローラでインスタンスを登録します。
- 独自のスタック・インデックスでプラグインを登録したい場合は、
- 2つのキー <property>class</property> および <property>stackIndex</property>
- を持つ配列を与える必要があります。
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>params</property></emphasis>:
- フロントコントローラに登録する連想配列
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>returnresponse</property></emphasis>:
- フロント・コントローラをディスパッチした後にレスポンス・オブジェクトを返すべきかどうか。
- 値は、ブーリアンでなければなりません。デフォルトで、これは無効です。
- </para>
- </listitem>
- <!-- TODO : to be translated -->
- <listitem>
- <para>
- <emphasis><property>dispatcher</property></emphasis>: allows overriding the default
- dispatcher. Has two subkeys, <property>class</property> (the classname of new dispatcher)
- and <property>params</property>, an array of parameters to pass to the dispatcher constructor.
- </para>
-
- <example id="zend.application.available-resources.frontcontroller.configExample.1">
- <title>ディスパッチャーを上書き</title>
- <programlisting language="ini"><![CDATA[
- [production]
- resources.frontController.dispatcher.class = "My_Custom_Dispatcher"
- resources.frontController.dispatcher.params.foo = "bar"
- resources.frontController.dispatcher.params.baz = "grok"
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- <para>
- 認識されていないキーが与えられると、
- <methodname>setParam()</methodname>に渡すことで、
- フロントコントローラ・パラメータとして登録されます。
- </para>
- <example id="zend.application.available-resources.frontcontroller.configExample.2">
- <title>フロントコントローラ・リソース構成サンプル</title>
- <para>
- 下記は、フロントコントローラ・リソースを設定する方法を示す<acronym>INI</acronym>スニペット・サンプルです。
- </para>
- <programlisting language="ini"><![CDATA[
- [production]
- resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
- resources.frontController.moduleControllerDirectoryName = "actions"
- resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
- resources.frontController.defaultControllerName = "site"
- resources.frontController.defaultAction = "home"
- resources.frontController.defaultModule = "static"
- resources.frontController.baseUrl = "/subdir"
- resources.frontController.plugins.foo = "My_Plugin_Foo"
- resources.frontController.plugins.bar = "My_Plugin_Bar"
- resources.frontController.plugins.baz.class = "My_Plugin_Baz"
- resources.frontController.plugins.baz.stackIndex = 123
- resources.frontController.returnresponse = 1
- resources.frontController.env = APPLICATION_ENV
- ; 下記の代用です:
- ;Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
- resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.frontcontroller.propertyExample">
- <title>ブートストラップでフロントコントローラを取得</title>
- <para>
- 一旦フロントコントローラ・リソースが初期化されたら、
- ブートストラップの<varname>$frontController</varname>プロパティを通じて
- フロントコントローラ・インスタンスを取ってくることができます。
- </para>
- <programlisting language="php"><![CDATA[
- $bootstrap->bootstrap('frontController');
- $front = $bootstrap->frontController;
- ]]></programlisting>
- </example>
- </sect2>
|