Zend_Application-AvailableResources-Frontcontroller.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 16847 -->
  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><para>
  24. <emphasis><property>controllerDirectory</property></emphasis>:
  25. コントローラ・ディレクトリを単独で指定している文字列値か、
  26. またはモジュールからコントローラ・ディレクトリへの連想配列。
  27. </para></listitem>
  28. <listitem><para>
  29. <emphasis><property>moduleControllerDirectoryName</property></emphasis>:
  30. コントローラを含むモジュールの配下でサブディレクトリを示す文字列値
  31. </para></listitem>
  32. <listitem><para>
  33. <emphasis><property>moduleDirectory</property></emphasis>:
  34. モジュールが見つかるかもしれないディレクトリ
  35. </para></listitem>
  36. <listitem><para>
  37. <emphasis><property>defaultControllerName</property></emphasis>:
  38. デフォルト・コントローラの基底名。(通常は "index")
  39. </para></listitem>
  40. <listitem><para>
  41. <emphasis><property>defaultAction</property></emphasis>:
  42. デフォルト・アクションの基底名。(通常は "index")
  43. </para></listitem>
  44. <listitem><para>
  45. <emphasis><property>defaultModule</property></emphasis>:
  46. デフォルト・モジュールの基底名。(通常は "default")
  47. </para></listitem>
  48. <listitem><para>
  49. <emphasis><property>baseUrl</property></emphasis>:
  50. アプリケーションに対して明示された基底<acronym>URL</acronym>
  51. (通常は自動検出)
  52. </para></listitem>
  53. <listitem><para>
  54. <emphasis><property>plugins</property></emphasis>:
  55. フロントコントローラのプラグイン・クラス名配列
  56. このリソースは、各々のクラスを(コンストラクタ引数なしで)インスタンス化して、
  57. それからフロントコントローラでインスタンスを登録します。
  58. </para></listitem>
  59. <listitem><para>
  60. <emphasis><property>params</property></emphasis>:
  61. フロントコントローラに登録する連想配列
  62. </para></listitem>
  63. </itemizedlist>
  64. <para>
  65. 認識されていないキーが与えられると、
  66. <methodname>setParam()</methodname>に渡すことで、
  67. フロントコントローラ・パラメータとして登録されます。
  68. </para>
  69. <example id="zend.application.available-resources.frontcontroller.configExample">
  70. <title>フロントコントローラ・リソース構成サンプル</title>
  71. <para>
  72. 下記は、フロントコントローラ・リソースを設定する方法を示す<acronym>INI</acronym>スニペット・サンプルです。
  73. </para>
  74. <programlisting language="ini"><![CDATA[
  75. [production]
  76. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  77. resources.frontController.moduleControllerDirectoryName = "actions"
  78. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  79. resources.frontController.defaultControllerName = "site"
  80. resources.frontController.defaultAction = "home"
  81. resources.frontController.defaultModule = "static"
  82. resources.frontController.baseUrl = "/subdir"
  83. resources.frontController.plugins.foo = "My_Plugin_Foo"
  84. resources.frontController.plugins.bar = "My_Plugin_Bar"
  85. resources.frontController.env = APPLICATION_ENV
  86. ]]></programlisting>
  87. </example>
  88. <example id="zend.application.available-resources.frontcontroller.propertyExample">
  89. <title>ブートストラップでフロントコントローラを取得</title>
  90. <para>
  91. 一旦フロントコントローラ・リソースが初期化されたら、
  92. ブートストラップの<varname>$frontController</varname>プロパティを通じて
  93. フロントコントローラ・インスタンスを取ってくることができます。
  94. </para>
  95. <programlisting language="php"><![CDATA[
  96. $bootstrap->bootstrap('frontController');
  97. $front = $bootstrap->frontController;
  98. ]]></programlisting>
  99. </example>
  100. </sect2>