Zend_Application-AvailableResources-Db.xml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.db">
  5. <title>Zend_Application_Resource_Db</title>
  6. <para>
  7. <classname>Zend_Application_Resource_Db</classname> initialisera un adaptateur
  8. <classname>Zend_Db</classname> basé sur les options qui lui seront fournis. Par
  9. défaut, il spécifiera aussi cet adaptateur comme adaptateur par défaut à utiliser
  10. avec <classname>Zend_Db_Table</classname>. Si vous souhaitez utiliser simultanément
  11. de multiples bases de données, vous pouvez utiliser la <link
  12. linkend="zend.application.available-resources.multidb">plugin de ressource Multidb</link>.
  13. </para>
  14. <para>
  15. Les clés de configuration suivantes sont reconnues&#160;:
  16. </para>
  17. <itemizedlist>
  18. <listitem>
  19. <para>
  20. <emphasis><property>adapter</property></emphasis>&#160;: le type de l'adaptateur
  21. <classname>Zend_Db</classname>.
  22. </para>
  23. </listitem>
  24. <listitem>
  25. <para>
  26. <emphasis><property>params</property></emphasis>&#160;: un tableau associatif des
  27. paramètres de configuration à utiliser pour la récupération de l'instance de
  28. l'adaptateur.
  29. </para>
  30. </listitem>
  31. <listitem>
  32. <para>
  33. <emphasis><property>isDefaultTableAdapter</property></emphasis>&#160;: spécifie
  34. si l'adaptateur est celui par défaut des tables.
  35. </para>
  36. </listitem>
  37. <listitem>
  38. <para>
  39. <emphasis><property>defaultMetadataCache</property></emphasis>&#160;: spécifie
  40. le nom du modèle de cache ou une instance de <classname>Zend_Cache_Core</classname>
  41. à utiliser en tant que cache de métadonnées pour
  42. <classname>Zend_Db_Table</classname>.
  43. </para>
  44. </listitem>
  45. </itemizedlist>
  46. <example id="zend.application.available-resources.db.configExample">
  47. <title>Exemple de configuration d'une ressource d'adaptateur de base données</title>
  48. <para>
  49. Voici un exemple de configuration <acronym>INI</acronym> qui peut-être utilisé pour
  50. initialiser une ressource de base de données.
  51. </para>
  52. <programlisting language="ini"><![CDATA[
  53. [production]
  54. resources.db.adapter = "pdo_mysql"
  55. resources.db.params.host = "localhost"
  56. resources.db.params.username = "webuser"
  57. resources.db.params.password = "XXXXXXX"
  58. resources.db.params.dbname = "test"
  59. resources.db.isDefaultTableAdapter = true
  60. ; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
  61. resources.db.defaultMetadataCache = "database"
  62. ]]></programlisting>
  63. </example>
  64. <note>
  65. <title>Récupération de l'instance de l'adaptateur</title>
  66. <para>
  67. Si vous choisissez de ne pas utiliser l'adaptateur instancié avec cette ressource
  68. comme adaptateur par défaut pour les tables, comment pourrez-vous récupérer
  69. l'instance&#160;?
  70. </para>
  71. <para>
  72. Comme tout plugin de ressource, vous pouvez extraire votre plugin de ressource de votre
  73. fichier d'initialisation&#160;:
  74. </para>
  75. <programlisting language="php"><![CDATA[
  76. $resource = $bootstrap->getPluginResource('db');
  77. ]]></programlisting>
  78. <para>
  79. Une fois que vous avez l'objet ressource, vous pouvez récupérer l'adaptateur de base de
  80. données en utilisant la méthode <methodname>getDbAdapter()</methodname>&#160;:
  81. </para>
  82. <programlisting language="php"><![CDATA[
  83. $db = $resource->getDbAdapter();
  84. ]]></programlisting>
  85. </note>
  86. </sect2>