1 <sect1 id="zend.config.introduction">
2 <title>Wprowadzenie</title>
4 Klasa <code>Zend_Config</code> została stworzona aby uprościć użycie
5 danych konfiguracyjnych w aplikacjach. Dostarcza ona interfejs bazujący
6 na właściwościach obiektów służący do odczytywania danych
7 konfiguracyjnych wewnątrz kodu aplikacji. Dane konfiguracyjne mogą
8 pochodzić z różnego rodzaju źródeł, w których dane konfiguracyjne są
9 przechowywane hierarchiczne. Obecnie <code>Zend_Config</code> dostarcza
10 klasy obsługujące dane konfiguracyjne przechowywane w plikach tekstowych:
11 <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link>, oraz
12 <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
15 <example id="zend.config.introduction.example.using">
16 <title>Użycie Zend_Config</title>
18 Normalnie jest tak, że użytkownicy użyliby jednej z klas adaptera,
19 takiej jak <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link>
20 czy <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>,
21 ale dane konfiguracyjne mogą być też dostępne w tablicy PHP. Można w prosty
22 sposób przekazać tablicę do konstruktora <code>Zend_Config</code> w celu
23 uzyskania obiektu zawierającego dane konfiguracyjne:
25 <programlisting role="php"><![CDATA[
26 // Tablica danych konfiguracyjnych
28 'webhost' => 'www.example.com',
30 'adapter' => 'pdo_mysql',
32 'host' => 'db.example.com',
33 'username' => 'dbuser',
34 'password' => 'secret',
35 'dbname' => 'mydatabase'
40 // Tworzy obiekt konfiguracji na podstawie danych konfiguracyjnych
41 $config = new Zend_Config($configArray);
43 // Wyświetlenie wpisu z konfiguracji (wynikiem jest 'www.example.com')
44 echo $config->webhost;
46 // Użycie danych konfiguracyjnych w celu połączenia się z bazą danych
47 $db = Zend_Db::factory($config->database->adapter,
48 $config->database->params->toArray());
50 // Alternartywne użycie: przekazanie obiektu Zend_Config.
51 // Metoda kklasy Zend_Db wie jak zinterpretować dane.
52 $db = Zend_Db::factory($config->database);
57 Jak zostało pokazane w powyższym przykładzie, klasa <code>Zend_Config</code>
58 zapewnia składnię zagnieżdżonych właściwości obiektów w celu uzyskania
59 dostępu do danych konfiguracyjnych przekazanych do konstruktora.
62 Oprócz zorientowanego obiektowo dostępu do wartości klasa
63 <code>Zend_Config</code> posiada także metodę <code>get()</code>
64 umożliwiającą zwrócenie podanej domyślnej wartości jeśli element nie
65 istnieje. Na przykład:
67 <programlisting role="php"><![CDATA[
68 $host = $config->database->get('host', 'localhost');
71 <example id="zend.config.introduction.example.file.php">
72 <title>Użycie Zend_Config z plikiem konfiguracyjnym PHP</title>
74 Często wskazane może być użycie do konfiguracji zwykłego pliku PHP.
75 Poniższy kod pokazuje w jak łatwy sposób można to zrobić:
77 <programlisting role="php"><![CDATA[
79 'webhost' => 'www.example.com',
81 'adapter' => 'pdo_mysql',
83 'host' => 'db.example.com',
84 'username' => 'dbuser',
85 'password' => 'secret',
86 'dbname' => 'mydatabase'
92 <programlisting role="php"><![CDATA[
93 // Załadowanie konfiguracji
94 $config = new Zend_Config(require 'config.php');
96 // Wyświetlenie danych konfiguracyjnych (powoduje wyświetlenie 'www.example.com')
97 echo $config->webhost;