Zend_Http_Cookie-Handling.xml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15617 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.http.cookies">
  5. <title>Zend_Http_Cookie und Zend_Http_CookieJar</title>
  6. <sect2 id="zend.http.cookies.introduction">
  7. <title>Einführung</title>
  8. <para>
  9. Wie erwartet ist Zend_Http_Cookie eine Klasse, die einen HTTP-Cookie
  10. darstellt. Sie stellt Methoden zum Verarbeiten von HTTP-Antwort-Strings,
  11. Sammeln von Cookies und dem einfachen Zugriff auf deren Eigenschaften zur
  12. Verfügung. So ist es auch möglich verschiedene Zustände eines Cookies
  13. zu überprüfen, z.B. den Anfrage-URL, die Ablaufzeit, das Vorliegen
  14. einer sicheren Verbindung, etc.
  15. </para>
  16. <para>
  17. Zend_Http_CookieJar ist ein Objekt, das normalerweise von der Klasse
  18. Zend_Http_Client genutzt wird und einen Satz von
  19. Zend_Http_Cookie Objekten beinhaltet. Wenn die Klassen miteinander
  20. verbunden sind, werden alle ein- und ausgehenden Cookies der
  21. HTTP-Anfragen und -Antworten im CookieJar Objekt gespeichert. Bei
  22. einer neuen Anfrage seitens des Clients wird nach allen Cookies,
  23. die auf diese Anfrage zutreffen, gesucht. Diese werden automatisch
  24. zum Anfrage-Header hinzugefügt, was besonders nützlich ist, wenn man
  25. eine Benutzersession über aufeinanderfolgende HTTP-Anfragen beibehalten
  26. muss; die Session-ID wird automatisch gesendet, wenn es notwendig ist.
  27. Ferner ist es möglich, Zend_Http_CookieJar Objekte zu serialisieren und,
  28. wenn nötig, in $_SESSION zu speichern.
  29. </para>
  30. </sect2>
  31. <sect2 id="zend.http.cookies.cookie.instantiating">
  32. <title>Instanzieren von Zend_Http_Cookie Objekten</title>
  33. <para>
  34. Es gibt zwei Möglichkeiten ein Cookie Objekt zu erstellen:
  35. <itemizedlist>
  36. <listitem>
  37. <para>
  38. Mithilfe des Konstruktors und der folgenden Syntax:
  39. <code>new Zend_Http_Cookie(string $name, string $value, string $domain, [int
  40. $expires, [string $path, [boolean $secure]]]);</code>
  41. </para>
  42. <itemizedlist>
  43. <listitem>
  44. <para>
  45. <code>$name</code>: Name des Cookies (notwendig)
  46. </para>
  47. </listitem>
  48. <listitem>
  49. <para>
  50. <code>$value</code>: Inhalt des Cookies (notwendig)
  51. </para>
  52. </listitem>
  53. <listitem>
  54. <para>
  55. <code>$domain</code>: Die Domain des Cookies (z.B. '.example.com')
  56. (notwendig)
  57. </para>
  58. </listitem>
  59. <listitem>
  60. <para>
  61. <code>$expires</code>: Ablaufzeit des Cookies als UNIX Zeitstempel
  62. (optional, standardmäßig null). Ein Nichtsetzen führt zu einer
  63. Behandlung als 'Session-Cookie', das keine Ablaufzeit enthält.
  64. </para>
  65. </listitem>
  66. <listitem>
  67. <para>
  68. <code>$path</code>: Pfad des Cookies, z.B. '/foo/bar/' (optional,
  69. standardmäßig '/')
  70. </para>
  71. </listitem>
  72. <listitem>
  73. <para>
  74. <code>$secure</code>: Boolean, ob der Cookie nur über sichere
  75. Verbindungen (HTTPS) gesendet werden darf (optional, standardmäßig
  76. boolean FALSE)
  77. </para>
  78. </listitem>
  79. </itemizedlist>
  80. </listitem>
  81. <listitem>
  82. <para>
  83. Durch das Aufrufen der statischen fromString()-Methode mit einem
  84. Cookie-String, wie er unter 'Set-Cookie' in einer HTTP-Antwort und 'Cookie'
  85. in einer -Anfrage zu finden ist. In diesem Fall muss der Cookie-Inhalt
  86. bereits kodiert sein. Falls der Cookie-String keinen 'domain'-Teil enthält,
  87. muss man selbst einen Referenz-URI angeben, aus dem die Domain und der Pfad
  88. des Cookies bestimmt wird.
  89. </para>
  90. </listitem>
  91. </itemizedlist>
  92. <example id="zend.http.cookies.cookie.instantiating.example-1">
  93. <title>Instanzieren eines Zend_Http_Cookie-Objekts</title>
  94. <programlisting language="php"><![CDATA[
  95. // Zuerst nutzen wir den Konstruktor. Der Cookie wird in zwei Stunden ablaufen
  96. $cookie = new Zend_Http_Cookie('foo',
  97. 'bar',
  98. '.example.com',
  99. time() + 7200,
  100. '/path');
  101. // Man kann auch den HTTP-Antwort 'Set-Cookie'-header dafür nutzen.
  102. // Dieser Cookie ist ähnlich zum vorangegangenen, allerdings wird
  103. // er nicht ablaufen und nur über sichere Verbindungen gesendet.
  104. $cookie = Zend_Http_Cookie::fromString('foo=bar; domain=.example.com; ' .
  105. 'path=/path; secure');
  106. // Wenn die Domain des Cookies nicht gesetzt ist, muss man ihn selbst angeben.
  107. $cookie = Zend_Http_Cookie::fromString('foo=bar; secure;',
  108. 'http://www.example.com/path');
  109. ]]></programlisting>
  110. </example>
  111. <note>
  112. <para>
  113. Beim Instanzieren eines Cookie Objekts mit der
  114. Zend_Http_Cookie::fromString()-Methode wird erwartet, dass der Cookie-Inhalt
  115. URL-kodiert ist, wie es bei Cookie-Strings sein sollte. Allerdings wird
  116. angenommen, dass der Inhalt bei Verwendung des Konstruktors in seiner
  117. eigentlichen Form, d.h. nicht URL-kodiert, übergeben wird.
  118. </para>
  119. </note>
  120. </para>
  121. <para>
  122. Ein Cookie Objekt kann durch die magische __toString()-Methode zurück in einen String
  123. umgewandelt werden. Diese Methode erstellt einen HTTP-Anfrage "Cookie"-Header String,
  124. der den Namen sowie den Inhalt des Cookies enthält und durch ein Semikolon (';')
  125. abgeschlossen ist. Der Inhalt wird URL-kodiert, wie es für einen Cookie-Header
  126. vorgeschrieben ist:
  127. <example id="zend.http.cookies.cookie.instantiating.example-2">
  128. <title>Transformation eines Zend_Http_Cookie-Objekts zu einem String</title>
  129. <programlisting language="php"><![CDATA[
  130. // Erstellt einen neuen Cookie
  131. $cookie = new Zend_Http_Cookie('foo',
  132. 'two words',
  133. '.example.com',
  134. time() + 7200,
  135. '/path');
  136. // Gibt 'foo=two+words;' aus
  137. echo $cookie->__toString();
  138. // Bezweckt dasselbe
  139. echo (string) $cookie;
  140. // Ab PHP 5.2 funktioniert auch diese Variante
  141. echo $cookie;
  142. ]]></programlisting>
  143. </example>
  144. </para>
  145. </sect2>
  146. <sect2 id="zend.http.cookies.cookie.accessors">
  147. <title>Zend_Http_Cookie getter-Methoden</title>
  148. <para>
  149. Sobald ein Zend_Http_Cookie instanziert wurde, stellt es diverse getter-Methoden zur
  150. Verfügung, die es einem ermöglichen, auf die verschiedenen Eigenschaften des
  151. HTTP-Cookies zuzugreifen:
  152. <itemizedlist>
  153. <listitem>
  154. <para>
  155. <code>string getName()</code>: Gibt den Namen des Cookies zurück
  156. </para>
  157. </listitem>
  158. <listitem>
  159. <para>
  160. <code>string getValue()</code>: Gibt den wirklichen, also nicht kodierten,
  161. Inhalt zurück
  162. </para>
  163. </listitem>
  164. <listitem>
  165. <para>
  166. <code>string getDomain()</code>: Gibt die Domain des Cookies zurück
  167. </para>
  168. </listitem>
  169. <listitem>
  170. <para>
  171. <code>string getPath()</code>: Gibt den Pfad des Cookies zurück; dessen
  172. Standardwert ist '/'
  173. </para>
  174. </listitem>
  175. <listitem>
  176. <para>
  177. <code>int getExpiryTime()</code>: Gibt die Ablaufzeit des Cookies als
  178. UNIX-Timestamp zurück. Falls der Cookie keine Ablaufzeit besitzt, wird NULL
  179. zurückgegeben.
  180. </para>
  181. </listitem>
  182. </itemizedlist>
  183. </para>
  184. <para>
  185. Zusätzlich gibt es einige boolesche tester-Methoden:
  186. <itemizedlist>
  187. <listitem>
  188. <para>
  189. <code>boolean isSecure()</code>: Gibt zurück, ob der Cookie nur über sichere
  190. Verbindungen gesendet werden kann. Wenn true zurückgegeben wird, wird der
  191. Cookie also nur über HTTPS versendet.
  192. </para>
  193. </listitem>
  194. <listitem>
  195. <para>
  196. <code>boolean isExpired(int $time = null)</code>: Überprüft, ob der Cookie
  197. bereits abgelaufen ist. Wenn der Cookie keine Ablaufzeit besitzt, wird diese
  198. Methode immer true zurückgegeben. Wenn $time übergeben wurde, wird der
  199. aktuelle Zeitstempel überschrieben und der übergebene Zeitstempel zur
  200. Überprüfung genutzt.
  201. </para>
  202. </listitem>
  203. <listitem>
  204. <para>
  205. <code>boolean isSessionCookie()</code>: Überprüft, ob der Cookie ein
  206. "Session-Cookie" ist, der keine Ablaufzeit besitzt und erst abläuft, wenn
  207. die Session beendet wird.
  208. </para>
  209. </listitem>
  210. </itemizedlist>
  211. </para>
  212. <para>
  213. <example id="zend.http.cookies.cookie.accessors.example-1">
  214. <title>Nutzen der getter-Methoden von Zend_Http_Cookie</title>
  215. <programlisting language="php"><![CDATA[
  216. // Zuerst wird der Cookie erstellt
  217. $cookie = Zend_Http_Cookie::fromString(
  218. 'foo=two+words; ' +
  219. 'domain=.example.com; ' +
  220. 'path=/somedir; ' +
  221. 'secure; ' +
  222. 'expires=Wednesday, 28-Feb-05 20:41:22 UTC');
  223. echo $cookie->getName(); // Gibt 'foo' aus
  224. echo $cookie->getValue(); // Gibt 'two words' aus
  225. echo $cookie->getDomain(); // Gibt '.example.com' aus
  226. echo $cookie->getPath(); // Gibt '/' aus
  227. echo date('Y-m-d', $cookie->getExpiryTime());
  228. // Gibt '2005-02-28' aus
  229. echo ($cookie->isExpired() ? 'Ja' : 'Nein');
  230. // Gibt 'Ja' aus
  231. echo ($cookie->isExpired(strtotime('2005-01-01') ? 'Ja' : 'Nein');
  232. // Gibt 'Nein' aus
  233. echo ($cookie->isSessionCookie() ? 'Ja' : 'Nein');
  234. // Gibt 'Nein' aus
  235. ]]></programlisting>
  236. </example>
  237. </para>
  238. </sect2>
  239. <sect2 id="zend.http.cookies.cookie.matching">
  240. <title>Zend_Http_Cookie: Überprüfen von Szenarien</title>
  241. <para>
  242. Die einzige wirkliche Logik in einem Zend_Http_Cookie-Objekt befindet sich in der
  243. match()-Methode. Sie wird genutzt um zu Überprüfen, ob ein Cookie auf eine HTTP-Anfrage
  244. zutrifft, um zu entscheiden, ob der Cookie in der Anfrage gesendet werden soll. Die
  245. Methode hat folgende Syntax und Parameter:
  246. <code>boolean Zend_Http_Cookie->match(mixed $uri, [boolean $matchSessionCookies,
  247. [int $now]]);</code>
  248. <itemizedlist>
  249. <listitem>
  250. <para>
  251. <code>mixed $uri</code>: Ein zu überprüfendes Zend_Uri_Http-Objekt mit einer
  252. Domain und einem Pfad. Wahlweise kann stattdessen jedoch auch ein String,
  253. der einen validen HTTP-URL darstellt, übergeben werden. Der Cookie ist
  254. zutreffend, wenn das URL-Schema (HTTP oder HTTPS), die Domain sowie der Pfad
  255. passen.
  256. </para>
  257. </listitem>
  258. <listitem>
  259. <para>
  260. <code>boolean $matchSessionCookies</code>: Gibt an, ob Session-Cookies
  261. zutreffen sollen. Standardmäßig ist dieser Parameter true. Wenn false
  262. stattdessen übergeben wird, werden Cookies ohne Ablaufzeit nie zutreffen.
  263. </para>
  264. </listitem>
  265. <listitem>
  266. <para>
  267. <code>int $now</code>: Ablaufzeit (in Form eines UNIX-Zeitstempels) auf
  268. welche der Cookie überprüft wird. Wenn sie nicht angegeben wird, wird die
  269. gegenwärtige Zeit genutzt.
  270. </para>
  271. </listitem>
  272. </itemizedlist>
  273. <example id="zend.http.cookies.cookie.matching.example-1">
  274. <title>Zutreffen von Cookies</title>
  275. <programlisting language="php"><![CDATA[
  276. // Erstellen eines Cookie Objekts - zuerst ein sicherer Cookie ohne Ablaufzeit
  277. $cookie = Zend_Http_Cookie::fromString('foo=two+words; ' +
  278. 'domain=.example.com; ' +
  279. 'path=/somedir; ' +
  280. 'secure;');
  281. $cookie->match('https://www.example.com/somedir/foo.php');
  282. // Gibt true zurück
  283. $cookie->match('http://www.example.com/somedir/foo.php');
  284. // Gibt false zurück, da die Verbindung nicht sicher ist
  285. $cookie->match('https://otherexample.com/somedir/foo.php');
  286. // Gibt false zurück, da die Domain falsch ist
  287. $cookie->match('https://example.com/foo.php');
  288. // Gibt false zurück, da der Pfad falsch ist
  289. $cookie->match('https://www.example.com/somedir/foo.php', false);
  290. // Gibt false zurück, da keine Session-Cookies akzeptiert werden
  291. $cookie->match('https://sub.domain.example.com/somedir/otherdir/foo.php');
  292. // Gibt true zurück
  293. // Erstellen eines anderen Cookie-Objekts - diesmal unsicher und
  294. // einer Ablaufzeit die zwei Stunden in der Zukunft liegt
  295. $cookie = Zend_Http_Cookie::fromString('foo=two+words; ' +
  296. 'domain=www.example.com; ' +
  297. 'expires='
  298. . date(DATE_COOKIE, time() + 7200));
  299. $cookie->match('http://www.example.com/');
  300. // Gibt true zurück
  301. $cookie->match('https://www.example.com/');
  302. // Gibt true zurück, da unsichere Cookies genauso gut über sichere
  303. // Verbindungen übertragen werden können
  304. $cookie->match('http://subdomain.example.com/');
  305. // Gibt false zurück, da die Domain unzutreffend ist
  306. $cookie->match('http://www.example.com/', true, time() + (3 * 3600));
  307. // Gibt false zurück, da die Ablaufzeit drei Stunden in der Zukunft
  308. // liegt
  309. ]]></programlisting>
  310. </example>
  311. </para>
  312. </sect2>
  313. <sect2 id="zend.http.cookies.cookiejar">
  314. <title>Die Zend_Http_CookieJar Klasse: Instanzierung</title>
  315. <para>
  316. In den meisten Fällen ist es nicht notwendig, ein Zend_Http_CookieJar Objekt
  317. direkt zu erstellen. Wenn man ein neues CookieJar zum Zend_Http_Client Objekts
  318. hinzufügen will, muss man lediglich die Methode Zend_Http_Client->setCookieJar(
  319. aufrufen, die ein neues und leeres CookieJar zum Client hinzufügt. Später kann
  320. man dieses CookieJar via Zend_Http_Client->getCookieJar() holen.
  321. </para>
  322. <para>
  323. Wenn dennoch ein CookieJar Objekt manuell erstellen werden soll, kann man dies
  324. direkt durch "new Zend_Http_CookieJar()" erreichen - der Konstruktor benötigt
  325. keine Parameter. Ein anderer Weg zum Instanzieren eines CookieJar Objekts ist
  326. es, die statische Methode Zend_Http_CookieJar::fromResponse() zu nutzen. Diese
  327. Methode benötigt zwei Parameter: ein Zend_Http_Response Objekt und einen
  328. Referenz_URI, entweder in Form eines Strings oder eines Zend_Uri_Http Objekts.
  329. Es wird ein Zend_Http_CookieJar Objekt zurückgegeben, das bereits die Cookies,
  330. die durch die HTTP-Antwort gesetzt wurden, enthält. Der Referenz-URI wird
  331. genutzt um die Domain und den Pfad des Cookies zu setzen, sofern sie nicht
  332. in den Set-Cookie-Headern definiert wurden.
  333. </para>
  334. </sect2>
  335. <sect2 id="zend.http.cookies.cookiejar.adding_cookies">
  336. <title>Hinzufügen von Cookies zu einem Zend_Http_CookieJar Objekt</title>
  337. <para>
  338. Normalerweise werden die, durch HTTP-Antworten gesetzen, Cookies vom Zend_Http_Client
  339. Objekt automatisch zu dessen CookieJar hinzugefügt. Wenn man es wünscht, kann man
  340. Cookies auch manuell zum CookieJar hinzufügen, was durch Nutzen zweier Methoden
  341. erreicht werden kann:
  342. <itemizedlist>
  343. <listitem>
  344. <para>
  345. <classname>Zend_Http_CookieJar->addCookie($cookie[, $ref_uri])</classname>:
  346. Hinzufügen eines einzelnen Cookies zum CookieJar. $cookie kann entweder ein
  347. Zend_Http_Cookie-Objekt oder ein String, der automatisch zu einem Cookie
  348. Objekt transformiert wird, sein. Wenn ein String übergeben wird, sollte man
  349. jedoch zusätzlich immer $ref_uri übergeben, da dieser einen Referenz-URI
  350. darstellt - in Form eines Strings oder eines Zend_Uri_Http Objekts - dessen
  351. Werte als Standard für die Domain und den Pfad des Cookies genutzt werden.
  352. </para>
  353. </listitem>
  354. <listitem>
  355. <para>
  356. <classname>Zend_Http_CookieJar->addCookiesFromResponse($response,
  357. $ref_uri)</classname>: Fügt alle Cookies zum CookieJar hinzu, die in
  358. einer einzelnen HTTP-Antwort gesetzt wurden. Es wird erwartet, dass
  359. $response ein Zend_Http_Response Objekt mit Set-Cookie-Headern ist. $ref_uri
  360. ist ein Anfrage-URI in Form eines Strings oder eines Zend_Uri_Http-Objekts
  361. dessen Inhalt die Standarddomain und den -pfad des Cookies bestimmt.
  362. </para>
  363. </listitem>
  364. </itemizedlist>
  365. </para>
  366. </sect2>
  367. <sect2 id="zend.http.cookies.cookiejar.getting_cookies">
  368. <title>Abrufen der Cookies von einem Zend_Http_CookieJar-Objekts</title>
  369. <para>
  370. Wie beim Hinzufügen von Cookies ist es normalerweise nicht notwendig,
  371. die Cookies manuell von einem CookieJar Objekt zu holen. Das Zend_Http_Client Objekt
  372. holt automatisch alle benötigten Cookies für eine HTTP-Anfrage. Allerdings
  373. gibt es drei Methoden die Cookies aus einem CookieJar zu holen:
  374. <code>getCookie()</code>, <code>getAllCookies()</code>, und
  375. <code>getMatchingCookies()</code>. Zusätzlich erhält man alle Zend_Http_Cookie Objekte
  376. von CookieJar wenn man durch Ihn iteriert.
  377. </para>
  378. <para>
  379. Es ist wichtig anzumerken, dass jede dieser Methoden einen speziellen
  380. Parameter verlangt, der den Rückgabetyp der Methode festlegt. Dieser
  381. Parameter kann drei verschiedene Werte annehmen:
  382. <itemizedlist>
  383. <listitem>
  384. <para>
  385. <classname>Zend_Http_CookieJar::COOKIE_OBJECT</classname>: Gibt ein
  386. Zend_Http_Cookie Objekt zurück. Wenn diese Methode mehr als
  387. einen Cookie zurückgeben sollte, wird stattdessen ein Array aus Objekten
  388. zurückgegeben.
  389. </para>
  390. </listitem>
  391. <listitem>
  392. <para>
  393. <classname>Zend_Http_CookieJar::COOKIE_STRING_ARRAY</classname>: Gibt Cookies
  394. als Strings - im Format "foo=bar" - zurück, welche passend für das
  395. Senden im "Cookie"-Header einer HTTP-Anfrage sind. Wenn mehr als
  396. ein Cookie zurückgegeben werden sollte, wird stattdessen ein Array
  397. solcher Strings zurückgegeben.
  398. </para>
  399. </listitem>
  400. <listitem>
  401. <para>
  402. <classname>Zend_Http_CookieJar::COOKIE_STRING_CONCAT</classname>: Ähnlich zu
  403. COOKIE_STRING_ARRAY; allerdings gibt diese Methode, falls mehr als
  404. ein Cookie zurückgegeben wird, einen einzelnen, langen String zurück,
  405. der die Cookies anhand eines Semikolons (;) trennt. Dieses Prozedere
  406. ist besonders hilfreich, wenn man alle zutreffenden Cookies in einem
  407. einzelnen "Cookie"-Header einer HTTP-Anfrage zurückgeben will.
  408. </para>
  409. </listitem>
  410. </itemizedlist>
  411. </para>
  412. <para>
  413. Die Struktur der unterschiedlichen Cookie-Abrufmethoden wird unterhalb beschrieben:
  414. <itemizedlist>
  415. <listitem>
  416. <para>
  417. <classname>Zend_Http_CookieJar->getCookie($uri, $cookie_name[,
  418. $ret_as])</classname>: Gibt einen einzelnen Cookie von dem CookieJar zurück,
  419. dessen URI (Domain und Pfad) und Name zu den Parametern passen. $uri ist
  420. entweder ein String oder ein Zend_Http_Uri Objekt, die den URI darstellen.
  421. $cookie_name ist ein String zum Identifizieren des Cookie-Namens. $ret_as ist
  422. ein optionaler Parameter, der angibt, von welchem Typ der zurückgegebene Wert
  423. ist. Der Standardwert ist COOKIE_OBJECT.
  424. </para>
  425. </listitem>
  426. <listitem>
  427. <para>
  428. <classname>Zend_Http_CookieJar->getAllCookies($ret_as)</classname>: Holt alle
  429. Cookies aus dem CookieJar. $ret_as gibt den Rückgabetyp - wie oben bereits
  430. beschrieben - an. Wenn er nicht angegeben wird, nimmt er COOKIE_OBJECT an.
  431. </para>
  432. </listitem>
  433. <listitem>
  434. <para>
  435. <classname>Zend_Http_CookieJar->getMatchingCookies($uri[, $matchSessionCookies[,
  436. $ret_as[, $now]]])</classname>: Gibt alle Cookies vom CookieJar zurück, die
  437. mit der Ablaufzeit und dem URI übereinstimmen.
  438. <itemizedlist>
  439. <listitem>
  440. <para>
  441. <code>$uri</code> ist entweder ein Zend_Uri_Http Objekt oder ein String,
  442. der den Verbindungstyp (sicher oder unsicher), die Domain und den Pfad
  443. angibt. Nach diesen Informationen wird im CookieJar gesucht.
  444. </para>
  445. </listitem>
  446. <listitem>
  447. <para>
  448. <code>$matchSessionCookies</code> ist ein boolescher Ausdruck, der
  449. festlegt, ob nach Session-Cookies gesucht werden soll. Session-Cookies
  450. sind Cookies, die keine Ablaufzeit enthalten. Standardmäßig ist dieser
  451. Wert true.
  452. </para>
  453. </listitem>
  454. <listitem>
  455. <para>
  456. <code>$ret_as</code> gibt den Rückgabetyp - wie oben beschrieben - an.
  457. Wenn keiner angegeben wird, wird COOKIE_OBJECT angenommen.
  458. </para>
  459. </listitem>
  460. <listitem>
  461. <para>
  462. <code>$now</code> ist ein Integer der einen UNIX-Zeitstempel darstellt.
  463. Cookies, die vor der angegeben Zeit ablaufen, werden nicht
  464. zurückgegeben. Wenn dieser Parameter nicht angegeben wird, wird
  465. stattdessen die aktuelle Zeit gewählt.
  466. </para>
  467. </listitem>
  468. </itemizedlist>
  469. Mehr über das Zutreffen von Cookies gibt es hier:
  470. <xref linkend="zend.http.cookies.cookie.matching" />.
  471. </para>
  472. </listitem>
  473. </itemizedlist>
  474. </para>
  475. </sect2>
  476. </sect1>
  477. <!--
  478. vim:se ts=4 sw=4 et:
  479. -->