Zend_Config-Introduction.xml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <sect1 id="zend.config.introduction">
  2. <title>Introductie</title>
  3. <para>
  4. <code>Zend_Config</code> is ontworpen om de toegang tot en het gebruik van configuratiedata te
  5. vereenvoudigen voor webapplicaties. Het levert een op geneste object eigenschap gebaseerde gebruikers interface
  6. om toegang te krijgen tot de configuratie data vanuit de webapplicatie. De configuratie data kan van
  7. verschillende media komen die ondersteuning hebben van hiërarchische data opslag.
  8. Momenteel levert <code>Zend_Config</code> hulpklassen voor configuratiedata die in tekstbestanden wordt
  9. opgeslagen via <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> en
  10. <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
  11. </para>
  12. <example id="zend.config.introduction.example.using">
  13. <title>Zend_Config gebruiken zonder hulpklasse</title>
  14. <para>
  15. Normaal gesproken wordt er verondersteld dat gebruikers één van de hulpklassen als
  16. <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> of
  17. <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link> zullen gebruiken,
  18. maar indien de configuratiedata in een PHP array is opgeslaan,
  19. kan je de data direct aan <code>Zend_Config</code> doorgeven om een eenvoudig object geörienteerde
  20. interface te gebruiken:
  21. </para>
  22. <programlisting role="php"><![CDATA[<?php
  23. // Gegeven een array van configuratiedata
  24. $configArray = array(
  25. 'webhost' => 'www.example.com',
  26. 'database' => array(
  27. 'adapter' => 'pdo_mysql',
  28. 'params' => array(
  29. 'host' => 'db.example.com',
  30. 'username' => 'dbuser',
  31. 'password' => 'secret',
  32. 'dbname' => 'mydatabase'
  33. )
  34. )
  35. );
  36. // De object geörienteerde wrapper over de configuratiedata aanmaken
  37. require_once 'Zend/Config.php';
  38. $config = new Zend_Config($configArray);
  39. // Configuratiedata weergeven (resulteert in 'www.example.com')
  40. echo $config->webhost;
  41. // De configuratiedata gebruiken om een verbinding met de database
  42. // tot stand te brenegen
  43. $db = Zend_Db::factory($config->database->adapter,
  44. $config->database->params->toArray());
  45. // Alternatief gebruik: geef simpelweg het Zend_Config object mee.
  46. // Zend_Db factory weet hoe het geinterpreteerd moet worden.
  47. $db = Zend_Db::factory($config->database);]]></programlisting>
  48. </example>
  49. <para>
  50. Zoals in het voorbeeld hierboven is geïllustreerd, verstrekt <code>Zend_Config</code> een geneste
  51. objecteigenschap syntax om de configuratiedata aan te spreken die aan zijn constructor werd doorgegeven.
  52. </para>
  53. <para>
  54. Samen met de object geörienteerde toegang tot de data waardes, heeft <code>Zend_Config</code>
  55. ook <code>get()</code> welke de gegeven standaard waarde zal terug geven, als het data element
  56. niet bestaat. Als voorbeeld:
  57. </para>
  58. <programlisting role="php"><![CDATA[<?php
  59. $host = $config->database->get('host', 'localhost');]]>
  60. </programlisting>
  61. <example id="zend.config.introduction.example.file.php">
  62. <title>Zend_Config gebruiken met een PHP configuratie bestand</title>
  63. <para>
  64. Het is vaak wenselijk om een puur op PHP gebaseerd configuratie bestand te gebruiken.
  65. De volgende code illustreerd hoe dat bereikt kan worden:
  66. </para>
  67. <programlisting role="php"><![CDATA[<?php
  68. // config.php
  69. return array(
  70. 'webhost' => 'www.example.com',
  71. 'database' => array(
  72. 'adapter' => 'pdo_mysql',
  73. 'params' => array(
  74. 'host' => 'db.example.com',
  75. 'username' => 'dbuser',
  76. 'password' => 'secret',
  77. 'dbname' => 'mydatabase'
  78. )
  79. )
  80. );]]></programlisting>
  81. <programlisting role="php"><![CDATA[<?php
  82. // Configuratie gebruiken
  83. require_once 'Zend/Config.php';
  84. $config = new Zend_Config(require 'config.php');
  85. // Geeft een configuratie waarde weer (resulteert in 'www.example.com')
  86. echo $config->webhost;]]></programlisting>
  87. </example>
  88. </sect1>
  89. <!--
  90. vim:se ts=4 sw=4 et:
  91. -->