Zend_Application-AvailableResources-Modules.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect2 id="zend.application.available-resources.modules">
  5. <title>Zend_Application_Resource_Modules(日本語)</title>
  6. <para>
  7. <classname>Zend_Application_Resource_Modules</classname>は、
  8. アプリケーションモジュールを初期化するために使われます。
  9. モジュールのルートに<filename>Bootstrap.php</filename>ファイルがあるなら、
  10. <classname>Module_Bootstrap</classname>という名前のクラスを含みます、
  11. ( "Module" のところがモジュール名です)
  12. そして、モジュールをブートするためにそのクラスを使用します。
  13. </para>
  14. <para>
  15. <classname>Zend_Application_Module_Autoloader</classname>のインスタンスは、
  16. それを初期化するためにモジュール名とディレクトリを使用して、
  17. モジュールのためにデフォルトで作成されます。
  18. </para>
  19. <para>
  20. Modules リソースはデフォルトでは何も引数を受け取らないので、
  21. 設定で有効にするには空の配列として作成しなければなりません。
  22. <acronym>INI</acronym> 形式で設定する場合は次のようになります。
  23. </para>
  24. <programlisting language="ini"><![CDATA[
  25. resources.modules[] =
  26. ]]></programlisting>
  27. <para>
  28. <acronym>XML</acronym> 形式で設定する場合は次のようになります。
  29. </para>
  30. <programlisting language="xml"><![CDATA[
  31. <resources>
  32. <modules>
  33. <!-- Placeholder to ensure an array is created -->
  34. <placeholder />
  35. </modules>
  36. </resources>
  37. ]]></programlisting>
  38. <para>
  39. 標準の <acronym>PHP</acronym> 配列を使用する場合は、単純に空の配列を作成します。
  40. </para>
  41. <programlisting language="php"><![CDATA[
  42. $options = array(
  43. 'resources' => array(
  44. 'modules' => array(),
  45. ),
  46. );
  47. ]]></programlisting>
  48. <note>
  49. <title>フロントコントローラ・リソース依存</title>
  50. <para>
  51. モジュール・リソースは、<link
  52. linkend="zend.application.available-resources.frontcontroller">フロントコントローラ・リソース</link>
  53. に依存します。
  54. もちろん、あつらえのフロントコントローラ・リソースクラスまたはクラス・イニシャライザ・メソッドによって
  55. そのリソース自身の代用を提供できます。
  56. "Frontcontroller" で終るリソース・プラグイン・クラスや
  57. "_initFrontController" という名前のイニシャライザ・メソッドである限りは。
  58. (大文字と小文字の区別をしません)
  59. </para>
  60. </note>
  61. <example id="zend.application.available-resources.modules.configExample">
  62. <title>モジュールの設定</title>
  63. <para>
  64. 構成ファイルのプレフィックスまたはサブセクションとして
  65. モジュール名を使用しているモジュール固有の構成を指定できます。
  66. </para>
  67. <para>
  68. たとえば、アプリケーションに "news" モジュールがあると仮定します。
  69. 下記は、そのモジュールでリソースの構成を示す<acronym>INI</acronym>と<acronym>XML</acronym>の例です。
  70. </para>
  71. <programlisting language="ini"><![CDATA[
  72. [production]
  73. news.resources.db.adapter = "pdo_mysql"
  74. news.resources.db.params.host = "localhost"
  75. news.resources.db.params.username = "webuser"
  76. news.resources.db.params.password = "XXXXXXX"
  77. news.resources.db.params.dbname = "news"
  78. ]]></programlisting>
  79. <programlisting language="xml"><![CDATA[
  80. <?xml version="1.0"?>
  81. <config>
  82. <production>
  83. <news>
  84. <resources>
  85. <db>
  86. <adapter>pdo_mysql</adapter>
  87. <params>
  88. <host>localhost</host>
  89. <username>webuser</username>
  90. <password>XXXXXXX</password>
  91. <dbname>news</dbname>
  92. </params>
  93. <isDefaultAdapter>true</isDefaultAdapter>
  94. </db>
  95. </resources>
  96. </news>
  97. </production>
  98. </config>
  99. ]]></programlisting>
  100. </example>
  101. <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
  102. <title>特定のモジュール・ブートストラップを取得する</title>
  103. <para>
  104. 時には、特定のモジュールのためにブートストラップ・オブジェクトを取得する必要があるかもしれません
  105. おそらくは別々のブートストラップ・メソッドを実行するためや、
  106. それを構成するためのオートローダを引き出すために。
  107. これは、モジュール・リソースの<methodname>getExecutedBootstraps()</methodname>メソッドを使用して行なえます。
  108. </para>
  109. <programlisting language="php"><![CDATA[
  110. $resource = $bootstrap->getPluginResource('modules');
  111. $moduleBootstraps = $resource->getExecutedBootstraps();
  112. $newsBootstrap = $moduleBootstraps['news'];
  113. ]]></programlisting>
  114. </example>
  115. </sect2>