File: Zend_Uri.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (205 lines) | stat: -rw-r--r-- 7,015 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<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_&lt;scheme&gt;</code>, gdzie
      <code>&lt;scheme&gt;</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>