Zend_Application-AvailableResources-Frontcontroller.xml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  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. </itemizedlist>
  92. <para>
  93. 認識されていないキーが与えられると、
  94. <methodname>setParam()</methodname>に渡すことで、
  95. フロントコントローラ・パラメータとして登録されます。
  96. </para>
  97. <example id="zend.application.available-resources.frontcontroller.configExample">
  98. <title>フロントコントローラ・リソース構成サンプル</title>
  99. <para>
  100. 下記は、フロントコントローラ・リソースを設定する方法を示す<acronym>INI</acronym>スニペット・サンプルです。
  101. </para>
  102. <programlisting language="ini"><![CDATA[
  103. [production]
  104. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  105. resources.frontController.moduleControllerDirectoryName = "actions"
  106. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  107. resources.frontController.defaultControllerName = "site"
  108. resources.frontController.defaultAction = "home"
  109. resources.frontController.defaultModule = "static"
  110. resources.frontController.baseUrl = "/subdir"
  111. resources.frontController.plugins.foo = "My_Plugin_Foo"
  112. resources.frontController.plugins.bar = "My_Plugin_Bar"
  113. resources.frontController.plugins.baz.class = "My_Plugin_Baz"
  114. resources.frontController.plugins.baz.stackIndex = 123
  115. resources.frontController.returnresponse = 1
  116. resources.frontController.env = APPLICATION_ENV
  117. ; 下記の代用です:
  118. ;Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
  119. resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
  120. ]]></programlisting>
  121. </example>
  122. <example id="zend.application.available-resources.frontcontroller.propertyExample">
  123. <title>ブートストラップでフロントコントローラを取得</title>
  124. <para>
  125. 一旦フロントコントローラ・リソースが初期化されたら、
  126. ブートストラップの<varname>$frontController</varname>プロパティを通じて
  127. フロントコントローラ・インスタンスを取ってくることができます。
  128. </para>
  129. <programlisting language="php"><![CDATA[
  130. $bootstrap->bootstrap('frontController');
  131. $front = $bootstrap->frontController;
  132. ]]></programlisting>
  133. </example>
  134. </sect2>