| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <sect1 id="zend.config.introduction">
- <title>Wprowadzenie</title>
- <para>
- Klasa <code>Zend_Config</code> została stworzona aby uprościć użycie
- danych konfiguracyjnych w aplikacjach. Dostarcza ona interfejs bazujący
- na właściwościach obiektów służący do odczytywania danych
- konfiguracyjnych wewnątrz kodu aplikacji. Dane konfiguracyjne mogą
- pochodzić z różnego rodzaju źródeł, w których dane konfiguracyjne są
- przechowywane hierarchiczne. Obecnie <code>Zend_Config</code> dostarcza
- klasy obsługujące dane konfiguracyjne przechowywane w plikach tekstowych:
- <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link>, oraz
- <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
- </para>
- <example id="zend.config.introduction.example.using">
- <title>Użycie Zend_Config</title>
- <para>
- Normalnie jest tak, że użytkownicy użyliby jednej z klas adaptera,
- takiej jak <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link>
- czy <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>,
- ale dane konfiguracyjne mogą być też dostępne w tablicy PHP. Można w prosty
- sposób przekazać tablicę do konstruktora <code>Zend_Config</code> w celu
- uzyskania obiektu zawierającego dane konfiguracyjne:
- </para>
- <programlisting role="php"><![CDATA[
- // Tablica danych konfiguracyjnych
- $configArray = array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- // Tworzy obiekt konfiguracji na podstawie danych konfiguracyjnych
- $config = new Zend_Config($configArray);
- // Wyświetlenie wpisu z konfiguracji (wynikiem jest 'www.example.com')
- echo $config->webhost;
- // Użycie danych konfiguracyjnych w celu połączenia się z bazą danych
- $db = Zend_Db::factory($config->database->adapter,
- $config->database->params->toArray());
- // Alternartywne użycie: przekazanie obiektu Zend_Config.
- // Metoda kklasy Zend_Db wie jak zinterpretować dane.
- $db = Zend_Db::factory($config->database);
- ]]>
- </programlisting>
- </example>
- <para>
- Jak zostało pokazane w powyższym przykładzie, klasa <code>Zend_Config</code>
- zapewnia składnię zagnieżdżonych właściwości obiektów w celu uzyskania
- dostępu do danych konfiguracyjnych przekazanych do konstruktora.
- </para>
- <para>
- Oprócz zorientowanego obiektowo dostępu do wartości klasa
- <code>Zend_Config</code> posiada także metodę <code>get()</code>
- umożliwiającą zwrócenie podanej domyślnej wartości jeśli element nie
- istnieje. Na przykład:
- </para>
- <programlisting role="php"><![CDATA[
- $host = $config->database->get('host', 'localhost');
- ]]>
- </programlisting>
- <example id="zend.config.introduction.example.file.php">
- <title>Użycie Zend_Config z plikiem konfiguracyjnym PHP</title>
- <para>
- Często wskazane może być użycie do konfiguracji zwykłego pliku PHP.
- Poniższy kod pokazuje w jak łatwy sposób można to zrobić:
- </para>
- <programlisting role="php"><![CDATA[
- return array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- ]]>
- </programlisting>
- <programlisting role="php"><![CDATA[
- // Załadowanie konfiguracji
- $config = new Zend_Config(require 'config.php');
- // Wyświetlenie danych konfiguracyjnych (powoduje wyświetlenie 'www.example.com')
- echo $config->webhost;
- ]]>
- </programlisting>
- </example>
- </sect1>
|