Wprowadzenie do Zend Framework

     Nauka Zend Framework

    appendix

     Przewodnik po Zend Framework


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 21.3% Update 2011-11-16 - Revision 24356 - Version ZF 1.11.x

    Rozdział 72. Zend_Uri

    72.1. Zend_Uri

    72.1.1. 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.

    72.1.2. Tworzenie nowego URI

    Zend_Uri zbuduje nowy URI z szablonu jeśli do metody Zend_Uri::factory() przekazana jest tylko nazwa schematu.

    Przykład 72.1. Tworzenie nowego URI za pomocą Zend_Uri::factory()

    // Aby utworzyć URI z szablonu, przekaż tylko schemat.
    $uri Zend_Uri::factory('http');

    // $uri jest instancją Zend_Uri_Http

    Aby utworzyć nowy URI z szablonu, przekaż tylko nazwę schematu do metody Zend_Uri::factory()[31]. 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.

    72.1.3. Manipulowanie istniejącym URI

    Aby manipulować istniejącym URI, przekaż cały URI do Zend_Uri::factory().

    Przykład 72.2. Manipulowanie istniejącym URI za pomocą Zend_Uri::factory()

    // Aby manipulować istniejącym URI, przekaż go do metody fabryki.
    $uri Zend_Uri::factory('http://www.zend.com');

    // $uri jest instancją Zend_Uri_Http

    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ć.

    72.1.4. Sprawdzanie poprawności URI

    Funkcja Zend_Uri::check() może być użyta jeśli potrzebne jest tylko sprawdzenie poprawności istniejącego URI.

    Przykład 72.3. Sprawdzanie poprawności URI za pomocą Zend_Uri::check()

    // 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.

    Zend_Uri::check() zwraca wartość logiczną, co jest bardziej wygodne niż używanie Zend_Uri::factory() i wyłapywanie wyjątku.

    72.1.5. 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.

    72.1.5.1. 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.

    Przykład 72.4. Pobieranie schematu z obiektu Zend_Uri_*

    $uri Zend_Uri::factory('http://www.zend.com');

    $scheme $uri->getScheme();  // "http"

    Metoda getScheme() zwraca tylko schemat z obiektu URI.

    72.1.5.2. Pobieranie całego URI

    Przykład 72.5. Pobieranie całego URI z obiektu Zend_Uri_*

    $uri Zend_Uri::factory('http://www.zend.com');

    echo 
    $uri->getUri();  // "http://www.zend.com"

    Metoda getUri() zwraca reprezentację całego URI jako łańcuch znaków.

    72.1.5.3. 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ć.

    Przykład 72.6. Sprawdzanie poprawności obiektu Zend_Uri_*

    $uri Zend_Uri::factory('http://www.zend.com');

    $isValid $uri->valid();  // TRUE

    Metoda valid() zapewnia możliwość sprawdzenia czy obiekt URI jest wciąż poprawny.



    [31] Obecnie, Zend_Uri obsługuje tylko schematy HTTP oraz HTTPS.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...