[MANUAL] English:
[zend.git] / documentation / manual / pl / module_specs / Zend_Validate-Hostname.xml
blobbbd32f30727859672b75e6796cbb0960b3374014
1 <sect2 id="zend.validate.set.hostname">
3     <title>Hostname</title>
5     <para>
6         Zend_Validate_Hostname pozwala ci na przeprowadzenie weryfikacji adresów
7         serwerów w oparciu o zestaw znanych specyfikacji. Możliwe jest
8         sprawdzenie trzech różnych typów adresów serwerów: adresu DNS (np.
9         domain.com), adresu IP (np. 1.2.3.4), oraz adresu lokalnego (np.
10         localhost). Domyślne będzie to sprawdzane jedynie w kontekście adresów
11         DNS.
12     </para>
14     <para>
15         <emphasis role="strong">Podstawowe użycie</emphasis>
16     </para>
18     <para>
19         Poniżej podstawowy przykład użycia:
21         <programlisting role="php"><![CDATA[
22 $validator = new Zend_Validate_Hostname();
23 if ($validator->isValid($hostname)) {
24     // nazwa serwera wygląda na prawidłową
25 } else {
26     // nazwa jest nieprawidłowa; wyświetl powody
27     foreach ($validator->getMessages() as $message) {
28         echo "$message\n";
29     }
31 ]]>
32         </programlisting>
34         Sprawdzi to nazwę serwera <code>$hostname</code> i w przypadku niepowodzenia
35         wypełni <code>$validator->getMessages()</code> użytecznymi informacjami
36         informującymi o błędach.
38     </para>
40     <para>
41         <emphasis role="strong">Weryfikacja różnych typów adresów serwerów</emphasis>
42     </para>
44     <para>
45         Może się okazać, że chcesz zezwolić na użycie adresów IP, adresów
46         lokalnych lub kombinacji dozwolonych typów. Możesz to zrobić przekazując
47         parametr do obiektu Zend_Validate_Hostname gdy tworzysz jego instancję.
48         Parametr powinien być liczbą całkowitą określającą, ktorego typu adresy
49         są dozwolone. Zalecamy użycie stałych klasy Zend_Validate_Hostname w
50         tym celu.
51     </para>
53     <para>
54         Stałe klasy Zend_Validate_Hostname to: <code>ALLOW_DNS</code> aby
55         zezwalać tylko na adresy DNS, <code>ALLOW_IP</code> aby zezwalać tylko
56         na adresy IP, <code>ALLOW_LOCAL</code> aby zezwalać tylko na adresy
57         lokalne, oraz <code>ALLOW_ALL</code> aby zezwalać na wszystkie typy.
58         Aby tylko sprawdzić adres dla adresów IP możesz użyć poniższego przykładu:
59         <programlisting role="php"><![CDATA[
60 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP);
61 if ($validator->isValid($hostname)) {
62     // nazwa serwera wygląda na prawidłową
63 } else {
64     // nazwa jest nieprawidłowa; wyświetl powody
65     foreach ($validator->getMessages() as $message) {
66         echo "$message\n";
67     }
69 ]]>
70         </programlisting>
72     </para>
74     <para>
75         Tak samo dobrze jak używając stałej <code>ALLOW_ALL</code> do określenia
76         akceptacji adresów wszystkich typow, możesz użyć dowolnej kombinacji
77         tych typów. Na przykład aby akceptować adresy DNS oraz adresy lokalne,
78         uwtórz instancję obiektu Zend_Validate_Hostname w taki sposób:
79         <programlisting role="php"><![CDATA[
80 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
81                                         Zend_Validate_Hostname::ALLOW_IP);
82 ]]>
83         </programlisting>
85     </para>
87     <para>
88         <emphasis role="strong">Validating International Domains Names</emphasis>
89     </para>
91     <para>
92         Some Country Code Top Level Domains (ccTLDs), such as 'de' (Germany), support international
93         characters in domain names. These are known as International Domain Names (IDN). These domains
94         can be matched by Zend_Validate_Hostname via extended characters that are used in the validation
95         process.
96     </para>
98     <para>
99         At present the list of supported ccTLDs include:
101         <itemizedlist>
102                 <listitem>
103                     <para>at (Austria)</para>
104                 </listitem>
105                 <listitem>
106                     <para>ch (Switzerland)</para>
107                 </listitem>
108                 <listitem>
109                     <para>li (Liechtenstein)</para>
110                 </listitem>
111                 <listitem>
112                     <para>de (Germany)</para>
113                 </listitem>
114                 <listitem>
115                     <para>fi (Finland)</para>
116                 </listitem>
117                 <listitem>
118                     <para>hu (Hungary)</para>
119                 </listitem>
120                 <listitem>
121                     <para>no (Norway)</para>
122                 </listitem>
123                 <listitem>
124                     <para>se (Sweden)</para>
125                 </listitem>
126         </itemizedlist>
128     </para>
130     <para>
131         To match an IDN domain it's as simple as just using the standard Hostname validator since IDN
132         matching is enabled by default. If you wish to disable IDN validation this can be done by
133         by either passing a parameter to the Zend_Validate_Hostname constructor or via the
134         <code>$validator->setValidateIdn()</code> method.
135     </para>
137     <para>
138         You can disable IDN validation by passing a second parameter to the Zend_Validate_Hostname
139         constructor in the following way.
141         <programlisting role="php"><![CDATA[
142 $validator =
143     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, false);
145         </programlisting>
147         Alternatively you can either pass TRUE or FALSE to
148         <code>$validator->setValidateIdn()</code> to enable or disable IDN validation.
150         If you are trying to match an IDN hostname which isn't currently supported it is likely
151         it will fail validation if it has any international characters in it. Where a ccTLD file
152         doesn't exist in Zend/Validate/Hostname specifying the additional characters a normal
153         hostname validation is performed.
154     </para>
156     <para>
157         Please note IDNs are only validated if you allow DNS hostnames to be validated.
158     </para>
160     <para>
161         <emphasis role="strong">Validating Top Level Domains</emphasis>
162     </para>
164     <para>
165         By default a hostname will be checked against a list of known TLDs. If this functionality
166         is not required it can be disabled in much the same way as disabling IDN support.
167         You can disable TLD validation by passing a third parameter to the Zend_Validate_Hostname constructor.
168         In the example below we are supporting IDN validation via the second parameter.
170         <programlisting role="php"><![CDATA[
171 $validator =
172     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS,
173                                true,
174                                false);
176         </programlisting>
178         Alternatively you can either pass TRUE or FALSE to
179         <code>$validator->setValidateTld()</code> to enable or disable TLD validation.
180     </para>
182     <para>
183         Please note TLDs are only validated if you allow DNS hostnames to be validated.
184     </para>
186 </sect2>