Zend_Uri.xml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <sect1 id="zend.uri.chapter">
  2. <title>Zend_Uri</title>
  3. <sect2 id="zend.uri.overview">
  4. <title>Privire de ansamblu</title>
  5. <para>
  6. <code>Zend_Uri</code> este o componentă care ajută la manipularea şi
  7. validarea <ulink url="http://www.w3.org/Addressing/">Identificatorilor uniformi de
  8. resurse</ulink> (URI-uri). <code>Zend_Uri</code> există în primul rând pentru a servi
  9. alte componente cum ar fi <code>Zend_Http_Client</code>, dar este
  10. utilă şi ca o componentă de sine stătătoare.
  11. </para>
  12. <para>
  13. URI-urile încep întotdeauna cu schema, urmată de caracterul două puncte. Construcţia diverselor
  14. şi multiplelor scheme diferă semnificativ. Clasa
  15. <code>Zend_Uri</code> dispune de o fabrică (factory) care creează o subclasă a sa
  16. specializată pentru fiecare schemă. Subclasa se va numi
  17. <code>Zend_Uri_&lt;schemă&gt;</code>, unde
  18. <code>&lt;schemă&gt;</code> este schema scrisă cu litere mici şi prima literă majusculă.
  19. O excepţie de la această regulă este HTTPS, care e de asemenea gestionată de
  20. <code>Zend_Uri_Http</code>.
  21. </para>
  22. </sect2>
  23. <sect2 id="zend.uri.creation">
  24. <title>Crearea unui nou identificator de resursă (URI)</title>
  25. <para>
  26. <code>Zend_Uri</code> va construi un nou URI de la zero doar dacă pasaţi o schemă
  27. metodei <code>Zend_Uri::factory()</code>.
  28. </para>
  29. <example>
  30. <title>Crearea unui nou URI cu <code>Zend_Uri::factory()</code></title>
  31. <programlisting role="php"><![CDATA[
  32. <?php
  33. require_once 'Zend/Uri.php';
  34. // Pentru a crea un nou URI de la zero, pasaţi doar schema.
  35. $uri = Zend_Uri::factory('http');
  36. // $uri instanceof Zend_Uri_Http?>]]>
  37. </programlisting>
  38. </example>
  39. <para>
  40. Pentru a crea un nou identificator de resursă (URI) de la zero, pasaţi metodei
  41. <code>Zend_Uri::factory()</code> doar schema. <footnote><para>La momentul acestei scrieri,
  42. Zend_Uri suporta doar schemele HTTP şi HTTPS.</para></footnote> .
  43. Dacă se pasează o schemă nesuportată, va fi aruncată o excepţie <code>Zend_Uri_Exception</code>.
  44. </para>
  45. <para>
  46. Dacă schema sau identificatorul de resursă pasat este suportat,
  47. <code>Zend_Uri::factory()</code> va întoarce o subclasă a ei care este
  48. specializată în schema care trebuie creată.
  49. </para>
  50. </sect2>
  51. <sect2 id="zend.uri.manipulation">
  52. <title>Manipularea unui identificator de resursă (URI) existent</title>
  53. <para>
  54. Pentru a manipula un identificator de resursă existent, pasaţi întregul identificator (URI) metodei
  55. <code>Zend_Uri::factory()</code>.
  56. </para>
  57. <example>
  58. <title>Manipularea unui identificator de resursă (UR) existent cu <code>Zend_Uri::factory()</code></title>
  59. <programlisting role="php"><![CDATA[<?php
  60. require_once 'Zend/Uri.php';
  61. // Pentru a manipula un URI existent, pasaţi-l ca parametru.
  62. $uri = Zend_Uri::factory('http://www.zend.com');
  63. // $uri instanceof Zend_Uri_Http?>]]>
  64. </programlisting>
  65. </example>
  66. <para>
  67. Identificatorul de resursă va fi analizat şi validat. Dacă e găsit invalid, va fi aruncată o excepţie
  68. <code>Zend_Uri_Exception</code> imediat. În caz contrar,
  69. <code>Zend_Uri::factory()</code> va întoarce o subclasă a sa care este
  70. specializată în schema care urmează a fi manipulată.
  71. </para>
  72. </sect2>
  73. <sect2 id="zend.uri.validation">
  74. <title>Validarea unui URI</title>
  75. <para>
  76. Funcţia <code>Zend_Uri::check()</code> poate fi utilizată doar dacă validarea
  77. unui URI existent este necesară într-un moment anume.
  78. </para>
  79. <example id="zend.uri.validation.example-1">
  80. <title>Validarea unui URI cu <code>Zend_Uri::check()</code></title>
  81. <programlisting role="php"><![CDATA[<?php
  82. require_once 'Zend/Uri.php';
  83. // Validează dacă un URI dat este bine format
  84. $valid = Zend_Uri::check('http://uri.de.validat');
  85. // $valid este TRUE pentru un URI valid sau FALSE în caz contrar.?>]]>
  86. </programlisting>
  87. </example>
  88. <para>
  89. <code>Zend_Uri::check()</code> întoarce rezultatul operaţiei ca tip boolean,
  90. lucru care se poate dovedi mai convenabil decât folosirea metodei <code>Zend_Uri::factory()</code>
  91. şi prinderea excepţiei.
  92. </para>
  93. </sect2>
  94. <sect2 id="zend.uri.instance-methods">
  95. <title>Metode obişnuite de creat instanţe</title>
  96. <para>
  97. Fiecare instanţă a unei subclase <code>Zend_Uri</code> (ex:
  98. <code>Zend_Uri_Http</code>) are mai multe metode de instanţiere care se dovedesc
  99. a fi utile în lucrul cu orice tip de URI.
  100. </para>
  101. <sect3 id="zend.uri.instance-methods.getscheme">
  102. <title>Obţinerea schemei identificatorului (URI)</title>
  103. <para>
  104. Schema unui URI este partea acelui URI care precedă caracterul două puncte. De exemplu,
  105. schema identificatorului <code>http://www.zend.com</code> este <code>http</code>.
  106. </para>
  107. <example id="zend.uri.instance-methods.getscheme.example-1">
  108. <title>Obţinerea schemei dintr-un obiect <code>Zend_Uri_*</code></title>
  109. <programlisting role="php"><![CDATA[<?php
  110. require_once 'Zend/Uri.php';
  111. $uri = Zend_Uri::factory('http://www.zend.com');
  112. $scheme = $uri->getScheme(); // "http"]]>
  113. </programlisting>
  114. </example>
  115. <para>
  116. Metoda <code>getScheme()</code> întoarce doar partea din URI care conţine schema
  117. obiectului URI.
  118. </para>
  119. </sect3>
  120. <sect3 id="zend.uri.instance-methods.geturi">
  121. <title>Obţinerea întregului identificator (URI)</title>
  122. <example id="zend.uri.instance-methods.geturi.example-1">
  123. <title>Obţinerea întregului identificator dintr-un obiect <code>Zend_Uri_*</code></title>
  124. <programlisting role="php"><![CDATA[<?php
  125. require_once 'Zend/Uri.php';
  126. $uri = Zend_Uri::factory('http://www.zend.com');
  127. echo $uri->getUri(); // "http://www.zend.com"]]>
  128. </programlisting>
  129. </example>
  130. <para>
  131. Metoda <code>getUri()</code> întoarce textul reprezentând întregul
  132. URI.
  133. </para>
  134. </sect3>
  135. <sect3 id="zend.uri.instance-methods.valid">
  136. <title>Validarea unui identificator (URI)</title>
  137. <para>
  138. <code>Zend_Uri::factory()</code> va valida întotdeauna orice URI pasat ei
  139. şi nu va crea o nouă instanţă de subclasă <code>Zend_Uri</code>
  140. dacă identificatorul pasat nu este valid. Cu toate acestea, după ce
  141. subclasa <code>Zend_Uri</code> este instanţiată pentru un nou URI sau unul
  142. existent şi valid, e posibil ca identificatorul să devină ulterior invalid datorită
  143. manipulării părţilor sale componente.
  144. </para>
  145. <example id="zend.uri.instance-methods.valid.example-1">
  146. <title>Validarea unui obiect <code>Zend_Uri_*</code></title>
  147. <programlisting role="php"><![CDATA[<?php
  148. require_once 'Zend/Uri.php';
  149. $uri = Zend_Uri::factory('http://www.zend.com');
  150. $isValid = $uri->valid(); // TRUE]]>
  151. </programlisting>
  152. </example>
  153. <para>
  154. Metoda <code>valid()</code> oferă o cale de a verifica dacă un obiect URI
  155. este încă valid.
  156. </para>
  157. </sect3>
  158. </sect2>
  159. </sect1>
  160. <!--
  161. vim:se ts=4 sw=4 et:
  162. -->