Zend_Application-AvailableResources-Frontcontroller.xml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24997 -->
  4. <sect2 id="zend.application.available-resources.frontcontroller">
  5. <title>Zend_Application_Resource_Frontcontroller(日本語)</title>
  6. <para>
  7. おそらく、あなたが<classname>Zend_Application</classname>でロードする
  8. 最も一般的なリソースはフロントコントローラ・リソースです。
  9. そして、それは<classname>Zend_Controller_Front</classname>を構成する能力を提供します。
  10. このリソースは、
  11. 任意のフロントコントローラ・パラメータを設定したり、初期化するプラグインを指定したり、
  12. そのほかにも能力を提供します。
  13. </para>
  14. <para>
  15. 一旦初期化されると、
  16. リソースはブートストラップの<varname>$frontController</varname>プロパティを
  17. <classname>Zend_Controller_Front</classname>インスタンスに割り当てます。
  18. </para>
  19. <para>
  20. 利用できる構成キーは以下を含みます。大文字と小文字の区別をしません:
  21. </para>
  22. <itemizedlist>
  23. <listitem>
  24. <para>
  25. <emphasis><property>controllerDirectory</property></emphasis>:
  26. コントローラ・ディレクトリを単独で指定している文字列値か、
  27. またはモジュールからコントローラ・ディレクトリへの連想配列。
  28. </para>
  29. </listitem>
  30. <listitem>
  31. <para>
  32. <emphasis><property>moduleControllerDirectoryName</property></emphasis>:
  33. コントローラを含むモジュールの配下でサブディレクトリを示す文字列値
  34. </para>
  35. </listitem>
  36. <listitem>
  37. <para>
  38. <emphasis><property>moduleDirectory</property></emphasis>:
  39. モジュールが見つかるかもしれないディレクトリ
  40. </para>
  41. </listitem>
  42. <listitem>
  43. <para>
  44. <emphasis><property>defaultControllerName</property></emphasis>:
  45. デフォルト・コントローラの基底名。(通常は "index")
  46. </para>
  47. </listitem>
  48. <listitem>
  49. <para>
  50. <emphasis><property>defaultAction</property></emphasis>:
  51. デフォルト・アクションの基底名。(通常は "index")
  52. </para>
  53. </listitem>
  54. <listitem>
  55. <para>
  56. <emphasis><property>defaultModule</property></emphasis>:
  57. デフォルト・モジュールの基底名。(通常は "default")
  58. </para>
  59. </listitem>
  60. <listitem>
  61. <para>
  62. <emphasis><property>baseUrl</property></emphasis>:
  63. アプリケーションに対して明示された基底<acronym>URL</acronym>
  64. (通常は自動検出)
  65. </para>
  66. </listitem>
  67. <listitem>
  68. <para>
  69. <emphasis><property>plugins</property></emphasis>:
  70. フロントコントローラのプラグイン・クラス名配列
  71. このリソースは、各々のクラスを(コンストラクタ引数なしで)インスタンス化して、
  72. それからフロントコントローラでインスタンスを登録します。
  73. 独自のスタック・インデックスでプラグインを登録したい場合は、
  74. 2つのキー <property>class</property> および <property>stackIndex</property>
  75. を持つ配列を与える必要があります。
  76. </para>
  77. </listitem>
  78. <listitem>
  79. <para>
  80. <emphasis><property>params</property></emphasis>:
  81. フロントコントローラに登録する連想配列
  82. </para>
  83. </listitem>
  84. <listitem>
  85. <para>
  86. <emphasis><property>returnresponse</property></emphasis>:
  87. フロント・コントローラをディスパッチした後にレスポンス・オブジェクトを返すべきかどうか。
  88. 値は、ブーリアンでなければなりません。デフォルトで、これは無効です。
  89. </para>
  90. </listitem>
  91. <!-- TODO : to be translated -->
  92. <listitem>
  93. <para>
  94. <emphasis><property>dispatcher</property></emphasis>: allows overriding the default
  95. dispatcher. Has two subkeys, <property>class</property> (the classname of new dispatcher)
  96. and <property>params</property>, an array of parameters to pass to the dispatcher constructor.
  97. </para>
  98. <example id="zend.application.available-resources.frontcontroller.configExample.1">
  99. <title>ディスパッチャーを上書き</title>
  100. <programlisting language="ini"><![CDATA[
  101. [production]
  102. resources.frontController.dispatcher.class = "My_Custom_Dispatcher"
  103. resources.frontController.dispatcher.params.foo = "bar"
  104. resources.frontController.dispatcher.params.baz = "grok"
  105. ]]></programlisting>
  106. </example>
  107. </listitem>
  108. </itemizedlist>
  109. <para>
  110. 認識されていないキーが与えられると、
  111. <methodname>setParam()</methodname>に渡すことで、
  112. フロントコントローラ・パラメータとして登録されます。
  113. </para>
  114. <example id="zend.application.available-resources.frontcontroller.configExample.2">
  115. <title>フロントコントローラ・リソース構成サンプル</title>
  116. <para>
  117. 下記は、フロントコントローラ・リソースを設定する方法を示す<acronym>INI</acronym>スニペット・サンプルです。
  118. </para>
  119. <programlisting language="ini"><![CDATA[
  120. [production]
  121. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  122. resources.frontController.moduleControllerDirectoryName = "actions"
  123. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  124. resources.frontController.defaultControllerName = "site"
  125. resources.frontController.defaultAction = "home"
  126. resources.frontController.defaultModule = "static"
  127. resources.frontController.baseUrl = "/subdir"
  128. resources.frontController.plugins.foo = "My_Plugin_Foo"
  129. resources.frontController.plugins.bar = "My_Plugin_Bar"
  130. resources.frontController.plugins.baz.class = "My_Plugin_Baz"
  131. resources.frontController.plugins.baz.stackIndex = 123
  132. resources.frontController.returnresponse = 1
  133. resources.frontController.env = APPLICATION_ENV
  134. ; 下記の代用です:
  135. ;Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
  136. resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
  137. ]]></programlisting>
  138. </example>
  139. <example id="zend.application.available-resources.frontcontroller.propertyExample">
  140. <title>ブートストラップでフロントコントローラを取得</title>
  141. <para>
  142. 一旦フロントコントローラ・リソースが初期化されたら、
  143. ブートストラップの<varname>$frontController</varname>プロパティを通じて
  144. フロントコントローラ・インスタンスを取ってくることができます。
  145. </para>
  146. <programlisting language="php"><![CDATA[
  147. $bootstrap->bootstrap('frontController');
  148. $front = $bootstrap->frontController;
  149. ]]></programlisting>
  150. </example>
  151. </sect2>