Zend_Uri
Wstęp
Zend_Uri jest komponentem, który pomaga w manipulowaniu i
sprawdzaniu poprawności adresem
Uniform Resource Identifier
(URI). Klasa Zend_Uri istnieje głownie aby obsłużyć inne
komponenty takie jak na przykład Zend_Http_Client ale także
jest użyteczna jako osobne narzędzie.
Adresy URI zawsze zaczynają się nazwą schematu zakończoną średnikiem.
Konstrukcje różnych schematów różnią się od siebie znacząco. Klasa
Zend_Uri zapewnia fabrykę, która zwracą swoją podklasę
specjalizującą się w danym schemacie. Podklasa będzie nazwana
Zend_Uri_<scheme>, gdzie
<scheme> 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ę
Zend_Uri_Http.
Tworzenie nowego URI
Zend_Uri zbuduje nowy URI z szablonu jeśli do metody
Zend_Uri::factory() przekazana jest tylko nazwa schematu.
Tworzenie nowego URI za pomocą Zend_Uri::factory()
Aby utworzyć nowy URI z szablonu, przekaż tylko nazwę schematu do metody
Zend_Uri::factory()Obecnie, Zend_Uri
obsługuje tylko schematy HTTP oraz HTTPS.. Jeśli
przekazana jest nazwa nieobsługiwanego schematu, wyrzucony będzie
wyjątek Zend_Uri_Exception.
Jeśli schemat lub przekazany URI jest obsługiwany, metoda
Zend_Uri::factory() zwróci swoją podklasę, która specjalizuje
się w schemacie który ma zostać utworzony.
Manipulowanie istniejącym URI
Aby manipulować istniejącym URI, przekaż cały URI do
Zend_Uri::factory().
Manipulowanie istniejącym URI za pomocą Zend_Uri::factory()
URI zostanie przetworzony i zostanie sprawdzona jego poprawność. Jeśli
okaże się, że jest niepoprawny, od razu zostanie wyrzucony wyjątek
Zend_Uri_Exception. W przeciwnym wypadku, metoda
Zend_Uri::factory() zwróci swoją podklasę specjalizującą
się w schemacie URI, którym chcemy manipulować.
Sprawdzanie poprawności URI
Funkcja Zend_Uri::check() może być użyta jeśli potrzebne
jest tylko sprawdzenie poprawności istniejącego URI.
Sprawdzanie poprawności URI za pomocą Zend_Uri::check()
Zend_Uri::check() zwraca wartość logiczną, co jest bardziej
wygodne niż używanie Zend_Uri::factory() i wyłapywanie
wyjątku.
Wspólne metody instancji
Każda instancja podklasy Zend_Uri (np.
Zend_Uri_Http) ma kilka metod, ktore są użyteczne do pracy
z rożnego rodzaju URI.
Pobieranie schematu URI
Nazwa schematu URI jest częścią URI, która znajduje się przed dwukropkiem. Na przykład
nazwą schematu adresu http://www.zend.com jest http.
Pobieranie schematu z obiektu Zend_Uri_*
getScheme(); // "http"
]]>
Metoda getScheme() zwraca tylko schemat z obiektu URI.
Pobieranie całego URI
Pobieranie całego URI z obiektu Zend_Uri_*
getUri(); // "http://www.zend.com"
]]>
Metoda getUri() zwraca reprezentację całego URI jako
łańcuch znaków.
Sprawdzanie poprawności URI
Zend_Uri::factory() zawsze sprawdzi poprawność przekazanego
do niej URI i nie utworzy nowej instancji podklasy Zend_Uri
jeśli podany adres URI jest niepoprawny. Jakkolwiek, po tym jak zostanie
utworzona instancja podklasy Zend_Uri 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ć.
Sprawdzanie poprawności obiektu Zend_Uri_*
valid(); // TRUE
]]>
Metoda valid() zapewnia możliwość sprawdzenia czy obiekt
URI jest wciąż poprawny.