Zend_Config-Introduction.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.config.introduction">
  5. <title>Introdução</title>
  6. <para>
  7. <classname>Zend_Config</classname> é projetado para simplificar o acesso e a utilização
  8. dos dados de configuração dentro das aplicações. Ele fornece uma propriedade do objeto
  9. aninhado baseado na interface de usuário para acessar dados de configuração no código do
  10. aplicativo. Os dados de configuração podem vir de uma variedade de meios de suporte para
  11. armazenamento de dados hierárquico. Atualmente <classname>Zend_Config</classname> fornece
  12. adaptadores para dados de configuração que são armazenados em arquivos de texto com
  13. <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> e
  14. <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
  15. </para>
  16. <example id="zend.config.introduction.example.using">
  17. <title>Usando o Zend_Config</title>
  18. <para>
  19. Normalmente, espera-se que os usuários usem uma das classes adaptadoras como <link
  20. linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> ou
  21. <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>,
  22. mas se os dados de configuração estão disponíveis em uma matriz <acronym>PHP</acronym>,
  23. pode-se simplesmente passar os dados para o construtor
  24. <classname>Zend_Config</classname> a fim de utilizar uma simples interface
  25. orientada a objetos:
  26. </para>
  27. <programlisting language="php"><![CDATA[
  28. // Dada uma matriz de dados de configuração
  29. $configArray = array(
  30. 'webhost' => 'www.example.com',
  31. 'database' => array(
  32. 'adapter' => 'pdo_mysql',
  33. 'params' => array(
  34. 'host' => 'db.example.com',
  35. 'username' => 'dbuser',
  36. 'password' => 'secret',
  37. 'dbname' => 'mydatabase'
  38. )
  39. )
  40. );
  41. // Create the object-oriented wrapper upon the configuration data
  42. $config = new Zend_Config($configArray);
  43. // Imprimir um dado de configuração (resulta em 'www.example.com')
  44. echo $config->webhost;
  45. // Utiliza os dados de configuração para se conectar ao banco de dados
  46. $db = Zend_Db::factory($config->database->adapter,
  47. $config->database->params->toArray());
  48. // Uso alternativo: simplesmente passar o objeto Zend_Config.
  49. // A fábrica do Zend_Db sabe como interpretá-lo.
  50. $db = Zend_Db::factory($config->database);
  51. ]]></programlisting>
  52. </example>
  53. <para>
  54. Como ilustrado no exemplo acima, <classname>Zend_Config</classname> fornece a sintaxe da
  55. propriedade do objeto aninhado para acessar os dados de configuração passados para o
  56. construtor.
  57. </para>
  58. <para>
  59. Junto com o acesso orientado a objeto aos valores dos dados,
  60. <classname>Zend_Config</classname> também tem o <methodname>get()</methodname>, que
  61. retornará o valor padrão fornecido se o elemento do dado não existir. Por exemplo:
  62. </para>
  63. <programlisting language="php"><![CDATA[
  64. $host = $config->database->get('host', 'localhost');
  65. ]]></programlisting>
  66. <example id="zend.config.introduction.example.file.php">
  67. <title>Usando o Zend_Config com um Arquivo de Configuração em PHP</title>
  68. <para>
  69. Muitas vezes é desejável utilizar um arquivo de configuração puramente em
  70. <acronym>PHP</acronym>. O código a seguir ilustra como isto pode ser
  71. realizado facilmente:
  72. </para>
  73. <programlisting language="php"><![CDATA[
  74. // config.php
  75. return array(
  76. 'webhost' => 'www.example.com',
  77. 'database' => array(
  78. 'adapter' => 'pdo_mysql',
  79. 'params' => array(
  80. 'host' => 'db.example.com',
  81. 'username' => 'dbuser',
  82. 'password' => 'secret',
  83. 'dbname' => 'mydatabase'
  84. )
  85. )
  86. );
  87. ]]></programlisting>
  88. <programlisting language="php"><![CDATA[
  89. // Consumo de configuração
  90. $config = new Zend_Config(require 'config.php');
  91. // Imprimir um dado de configuração (resulta em 'www.example.com')
  92. echo $config->webhost;
  93. ]]></programlisting>
  94. </example>
  95. </sect1>
  96. <!--
  97. vim:se ts=4 sw=4 et:
  98. -->