Zend_Http_Cookie-Handling.xml 24 KB

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