[MANUAL] English:
[zend.git] / documentation / manual / pl / module_specs / Zend_Config-Introduction.xml
blobe81ac230bc6f183ffc786769599df9b12e45e09a
1 <sect1 id="zend.config.introduction">
2     <title>Wprowadzenie</title>
3     <para>
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>.
14     </para>
15     <example id="zend.config.introduction.example.using">
16         <title>Użycie Zend_Config</title>
17         <para>
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:
24         </para>
25         <programlisting role="php"><![CDATA[
26 // Tablica danych konfiguracyjnych
27 $configArray = array(
28     'webhost'  => 'www.example.com',
29     'database' => array(
30         'adapter' => 'pdo_mysql',
31         'params'  => array(
32             'host'     => 'db.example.com',
33             'username' => 'dbuser',
34             'password' => 'secret',
35             'dbname'   => 'mydatabase'
36         )
37     )
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);
53 ]]>
54         </programlisting>
55     </example>
56     <para>
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.
60     </para>
61     <para>
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:
66     </para>
67     <programlisting role="php"><![CDATA[
68 $host = $config->database->get('host', 'localhost');
69 ]]>
70     </programlisting>
71     <example id="zend.config.introduction.example.file.php">
72         <title>Użycie Zend_Config z plikiem konfiguracyjnym PHP</title>
73         <para>
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ć:
76         </para>
77         <programlisting role="php"><![CDATA[
78 return array(
79     'webhost'  => 'www.example.com',
80     'database' => array(
81         'adapter' => 'pdo_mysql',
82         'params'  => array(
83             'host'     => 'db.example.com',
84             'username' => 'dbuser',
85             'password' => 'secret',
86             'dbname'   => 'mydatabase'
87         )
88     )
90 ]]>
91         </programlisting>
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;
98 ]]>
99         </programlisting>
100     </example>
101 </sect1>