Zend_Uri
Privire de ansamblu
Zend_Uri este o componentă care ajută la manipularea şi
validarea Identificatorilor uniformi de
resurse (URI-uri). Zend_Uri există în primul rând pentru a servi
alte componente cum ar fi Zend_Http_Client, dar este
utilă şi ca o componentă de sine stătătoare.
URI-urile încep întotdeauna cu schema, urmată de caracterul două puncte. Construcţia diverselor
şi multiplelor scheme diferă semnificativ. Clasa
Zend_Uri dispune de o fabrică (factory) care creează o subclasă a sa
specializată pentru fiecare schemă. Subclasa se va numi
Zend_Uri_<schemă>, unde
<schemă> este schema scrisă cu litere mici şi prima literă majusculă.
O excepţie de la această regulă este HTTPS, care e de asemenea gestionată de
Zend_Uri_Http.
Crearea unui nou identificator de resursă (URI)
Zend_Uri va construi un nou URI de la zero doar dacă pasaţi o schemă
metodei Zend_Uri::factory().
Crearea unui nou URI cu Zend_Uri::factory()
]]>
Pentru a crea un nou identificator de resursă (URI) de la zero, pasaţi metodei
Zend_Uri::factory() doar schema. La momentul acestei scrieri,
Zend_Uri suporta doar schemele HTTP şi HTTPS. .
Dacă se pasează o schemă nesuportată, va fi aruncată o excepţie Zend_Uri_Exception.
Dacă schema sau identificatorul de resursă pasat este suportat,
Zend_Uri::factory() va întoarce o subclasă a ei care este
specializată în schema care trebuie creată.
Manipularea unui identificator de resursă (URI) existent
Pentru a manipula un identificator de resursă existent, pasaţi întregul identificator (URI) metodei
Zend_Uri::factory().
Manipularea unui identificator de resursă (UR) existent cu Zend_Uri::factory()
]]>
Identificatorul de resursă va fi analizat şi validat. Dacă e găsit invalid, va fi aruncată o excepţie
Zend_Uri_Exception imediat. În caz contrar,
Zend_Uri::factory() va întoarce o subclasă a sa care este
specializată în schema care urmează a fi manipulată.
Validarea unui URI
Funcţia Zend_Uri::check() poate fi utilizată doar dacă validarea
unui URI existent este necesară într-un moment anume.
Validarea unui URI cu Zend_Uri::check()
]]>
Zend_Uri::check() întoarce rezultatul operaţiei ca tip boolean,
lucru care se poate dovedi mai convenabil decât folosirea metodei Zend_Uri::factory()
şi prinderea excepţiei.
Metode obişnuite de creat instanţe
Fiecare instanţă a unei subclase Zend_Uri (ex:
Zend_Uri_Http) are mai multe metode de instanţiere care se dovedesc
a fi utile în lucrul cu orice tip de URI.
Obţinerea schemei identificatorului (URI)
Schema unui URI este partea acelui URI care precedă caracterul două puncte. De exemplu,
schema identificatorului http://www.zend.com este http.
Obţinerea schemei dintr-un obiect Zend_Uri_*
getScheme(); // "http"]]>
Metoda getScheme() întoarce doar partea din URI care conţine schema
obiectului URI.
Obţinerea întregului identificator (URI)
Obţinerea întregului identificator dintr-un obiect Zend_Uri_*
getUri(); // "http://www.zend.com"]]>
Metoda getUri() întoarce textul reprezentând întregul
URI.
Validarea unui identificator (URI)
Zend_Uri::factory() va valida întotdeauna orice URI pasat ei
şi nu va crea o nouă instanţă de subclasă Zend_Uri
dacă identificatorul pasat nu este valid. Cu toate acestea, după ce
subclasa Zend_Uri este instanţiată pentru un nou URI sau unul
existent şi valid, e posibil ca identificatorul să devină ulterior invalid datorită
manipulării părţilor sale componente.
Validarea unui obiect Zend_Uri_*
valid(); // TRUE]]>
Metoda valid() oferă o cale de a verifica dacă un obiect URI
este încă valid.