Zend_Application-AvailableResources-Db.xml 3.6 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> initialisiert einen
  8. <classname>Zend_Db</classname> Adapter basieren auf den Ihm übergebenen Optionen.
  9. Standardmäßig, setzt es den Adapter als Default Adapter zur Verwendung mit
  10. <classname>Zend_Db_Table</classname>. Wenn man mehrere Datenbanken simultan verwenden
  11. will, kann man das <link
  12. linkend="zend.application.available-resources.multidb">Multidb Ressource Plugin</link>
  13. verwenden.
  14. </para>
  15. <para>
  16. Die folgenden Konfigurationsschlüssel werden erkannt:
  17. </para>
  18. <itemizedlist>
  19. <listitem>
  20. <para>
  21. <emphasis><property>adapter</property></emphasis>: <classname>Zend_Db</classname>
  22. Adaptertyp.
  23. </para>
  24. </listitem>
  25. <listitem>
  26. <para>
  27. <emphasis><property>params</property></emphasis>: Assoziatives Array von
  28. Konfigurationsparametern das verwendet wird wenn man die Instanz des Adapter
  29. empfängt.
  30. </para>
  31. </listitem>
  32. <listitem>
  33. <para>
  34. <emphasis><property>isDefaultTableAdapter</property></emphasis>: Ob dieser Adapter
  35. als Standard-Tabellen Adapter verwendet werden soll oder nicht.
  36. </para>
  37. </listitem>
  38. <listitem>
  39. <para>
  40. <emphasis><property>defaultMetadataCache</property></emphasis>: Der Name des
  41. Cache Templates oder einer Instanz von <classname>Zend_Cache_Core</classname> welche
  42. als Metadaten-Cache für <classname>Zend_Db_Table</classname> zu verwenden ist.
  43. </para>
  44. </listitem>
  45. </itemizedlist>
  46. <example id="zend.application.available-resources.db.configExample">
  47. <title>Beispiel der Konfiguration einer DB Adapter Ressource</title>
  48. <para>
  49. Anbei ist das Beispiel einer <acronym>INI</acronym> Konfiguration die verwendet werden
  50. kann um die DB Ressource zu initialisieren.
  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. ; Optional kann auch ein Cache Template zur Verwendung für Metadaten Caching
  61. ; angegeben werden:
  62. resources.db.defaultMetadataCache = "database"
  63. ]]></programlisting>
  64. </example>
  65. <note>
  66. <title>Empfangen der Adapter Instanz</title>
  67. <para>
  68. Wenn man den, mit dieser Ressource initialisierten Adapter, nicht zum
  69. Standard-Tabellen Adapter macht, wie erhält man dann die Adapter Instanz ?
  70. </para>
  71. <para>
  72. Wie bei jedem Ressource Plugin, kann an das DB Ressource Plugin von der Bootstrap Datei
  73. erhalten:
  74. </para>
  75. <programlisting language="php"><![CDATA[
  76. $resource = $bootstrap->getPluginResource('db');
  77. ]]></programlisting>
  78. <para>
  79. Sobald man das Ressource Objekt hat, kann man den DB Adapter erhalten indem die
  80. <methodname>getDbAdapter()</methodname> Methode verwendet wird:
  81. </para>
  82. <programlisting language="php"><![CDATA[
  83. $db = $resource->getDbAdapter();
  84. ]]></programlisting>
  85. </note>
  86. </sect2>