| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <sect1 id="zend.uri.chapter">
- <title>Zend_Uri</title>
- <sect2 id="zend.uri.overview">
- <title>Wstęp</title>
- <para>
- <code>Zend_Uri</code> jest komponentem, który pomaga w manipulowaniu i
- sprawdzaniu poprawności adresem
- <ulink url="http://www.w3.org/Addressing/">Uniform Resource Identifier</ulink>
- (URI). Klasa <code>Zend_Uri</code> istnieje głownie aby obsłużyć inne
- komponenty takie jak na przykład <code>Zend_Http_Client</code> ale także
- jest użyteczna jako osobne narzędzie.
- </para>
- <para>
- Adresy URI zawsze zaczynają się nazwą schematu zakończoną średnikiem.
- Konstrukcje różnych schematów różnią się od siebie znacząco. Klasa
- <code>Zend_Uri</code> zapewnia fabrykę, która zwracą swoją podklasę
- specjalizującą się w danym schemacie. Podklasa będzie nazwana
- <code>Zend_Uri_<scheme></code>, gdzie
- <code><scheme></code> jest nazwą schematu zamienioną na małe litery
- z pierwszą literą zamienioną na wielką. Wyjątkiem od tej reguły jest
- schemat HTTPS, który także jest obsługiwany przez klasę
- <code>Zend_Uri_Http</code>.
- </para>
- </sect2>
- <sect2 id="zend.uri.creation">
- <title>Tworzenie nowego URI</title>
- <para>
- <code>Zend_Uri</code> zbuduje nowy URI z szablonu jeśli do metody
- <code>Zend_Uri::factory()</code> przekazana jest tylko nazwa schematu.
- </para>
- <example id="zend.uri.creation.example-1">
- <title>Tworzenie nowego URI za pomocą <code>Zend_Uri::factory()</code></title>
- <programlisting role="php"><![CDATA[
- // Aby utworzyć URI z szablonu, przekaż tylko schemat.
- $uri = Zend_Uri::factory('http');
- // $uri jest instancją Zend_Uri_Http
- ]]>
- </programlisting>
- </example>
- <para>
- Aby utworzyć nowy URI z szablonu, przekaż tylko nazwę schematu do metody
- <code>Zend_Uri::factory()</code><footnote><para>Obecnie, Zend_Uri
- obsługuje tylko schematy HTTP oraz HTTPS.</para></footnote>. Jeśli
- przekazana jest nazwa nieobsługiwanego schematu, wyrzucony będzie
- wyjątek <code>Zend_Uri_Exception</code>.
- </para>
- <para>
- Jeśli schemat lub przekazany URI jest obsługiwany, metoda
- <code>Zend_Uri::factory()</code> zwróci swoją podklasę, która specjalizuje
- się w schemacie który ma zostać utworzony.
- </para>
- </sect2>
- <sect2 id="zend.uri.manipulation">
- <title>Manipulowanie istniejącym URI</title>
- <para>
- Aby manipulować istniejącym URI, przekaż cały URI do
- <code>Zend_Uri::factory()</code>.
- </para>
- <example id="zend.uri.manipulation.example-1">
- <title>Manipulowanie istniejącym URI za pomocą <code>Zend_Uri::factory()</code></title>
- <programlisting role="php"><![CDATA[
- // Aby manipulować istniejącym URI, przekaż go do metody fabryki.
- $uri = Zend_Uri::factory('http://www.zend.com');
- // $uri jest instancją Zend_Uri_Http
- ]]>
- </programlisting>
- </example>
- <para>
- URI zostanie przetworzony i zostanie sprawdzona jego poprawność. Jeśli
- okaże się, że jest niepoprawny, od razu zostanie wyrzucony wyjątek
- <code>Zend_Uri_Exception</code>. W przeciwnym wypadku, metoda
- <code>Zend_Uri::factory()</code> zwróci swoją podklasę specjalizującą
- się w schemacie URI, którym chcemy manipulować.
- </para>
- </sect2>
- <sect2 id="zend.uri.validation">
- <title>Sprawdzanie poprawności URI</title>
- <para>
- Funkcja <code>Zend_Uri::check()</code> może być użyta jeśli potrzebne
- jest tylko sprawdzenie poprawności istniejącego URI.
- </para>
- <example id="zend.uri.validation.example-1">
- <title>Sprawdzanie poprawności URI za pomocą <code>Zend_Uri::check()</code></title>
- <programlisting role="php"><![CDATA[
- // Sprawdź czy podany URI ma poprawny format
- $valid = Zend_Uri::check('http://uri.in.question');
- // $valid ma wartość TRUE dla poprawnego URI, lub FALSE w przeciwnym wypadku.
- ]]>
- </programlisting>
- </example>
- <para>
- <code>Zend_Uri::check()</code> zwraca wartość logiczną, co jest bardziej
- wygodne niż używanie <code>Zend_Uri::factory()</code> i wyłapywanie
- wyjątku.
- </para>
- </sect2>
- <sect2 id="zend.uri.instance-methods">
- <title>Wspólne metody instancji</title>
- <para>
- Każda instancja podklasy <code>Zend_Uri</code> (np.
- <code>Zend_Uri_Http</code>) ma kilka metod, ktore są użyteczne do pracy
- z rożnego rodzaju URI.
- </para>
- <sect3 id="zend.uri.instance-methods.getscheme">
- <title>Pobieranie schematu URI</title>
- <para>
- Nazwa schematu URI jest częścią URI, która znajduje się przed dwukropkiem. Na przykład
- nazwą schematu adresu <code>http://www.zend.com</code> jest <code>http</code>.
- </para>
- <example id="zend.uri.instance-methods.getscheme.example-1">
- <title>Pobieranie schematu z obiektu <code>Zend_Uri_*</code></title>
- <programlisting role="php"><![CDATA[
- $uri = Zend_Uri::factory('http://www.zend.com');
- $scheme = $uri->getScheme(); // "http"
- ]]>
- </programlisting>
- </example>
- <para>
- Metoda <code>getScheme()</code> zwraca tylko schemat z obiektu URI.
- </para>
- </sect3>
- <sect3 id="zend.uri.instance-methods.geturi">
- <title>Pobieranie całego URI</title>
- <example id="zend.uri.instance-methods.geturi.example-1">
- <title>Pobieranie całego URI z obiektu <code>Zend_Uri_*</code></title>
- <programlisting role="php"><![CDATA[
- $uri = Zend_Uri::factory('http://www.zend.com');
- echo $uri->getUri(); // "http://www.zend.com"
- ]]>
- </programlisting>
- </example>
- <para>
- Metoda <code>getUri()</code> zwraca reprezentację całego URI jako
- łańcuch znaków.
- </para>
- </sect3>
- <sect3 id="zend.uri.instance-methods.valid">
- <title>Sprawdzanie poprawności URI</title>
- <para>
- <code>Zend_Uri::factory()</code> zawsze sprawdzi poprawność przekazanego
- do niej URI i nie utworzy nowej instancji podklasy <code>Zend_Uri</code>
- jeśli podany adres URI jest niepoprawny. Jakkolwiek, po tym jak zostanie
- utworzona instancja podklasy <code>Zend_Uri</code> dla nowego URI lub
- dla poprawnego istniejącego, możliwe jest to, że URI później może stać
- się niepoprawny, po tym jak będziemy nim manipulować.
- </para>
- <example id="zend.uri.instance-methods.valid.example-1">
- <title>Sprawdzanie poprawności obiektu <code>Zend_Uri_*</code></title>
- <programlisting role="php"><![CDATA[
- $uri = Zend_Uri::factory('http://www.zend.com');
- $isValid = $uri->valid(); // TRUE
- ]]>
- </programlisting>
- </example>
- <para>
- Metoda <code>valid()</code> zapewnia możliwość sprawdzenia czy obiekt
- URI jest wciąż poprawny.
- </para>
- </sect3>
- </sect2>
- </sect1>
|