Zend_Session-Introduction.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15103 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.session.introduction">
  5. <title>Einführung</title>
  6. <para>
  7. Das Zend Framework Auth Team begrüsst Feedback und Beiträge in der Mailing Liste:
  8. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
  9. </para>
  10. <para>
  11. In Web Anwendungen die mit PHP geschrieben sind, repräsentiert eine <emphasis role="bold">Session</emphasis>
  12. eine logische Eins-zu-Eins Verbindung zwischen fixen Daten auf dem Server und einem bestimmten
  13. Benutzer Client (z.B., einem Web Browser). <classname>Zend_Session</classname> hilft beim Verwalten und Aufbewahren
  14. von Session Daten, einer logischen Verbindung von Cookie Daten über mehrere Seitenaufrufe hinweg durch
  15. den gleichen Client. Anders als Cookie Daten, werden Session Daten nicht beim Client gespeichert und stehen
  16. diesem nur dann zur Verfügung wenn der Server-seitige Sourcecode diese Daten freiwillig zur Verfügung stellt
  17. und diese vom Client angefragt werden. Innerhalb dieser Komponente und der Dokumentation bezeichnt der Term
  18. "Session Daten" die Server-seitigen Daten welche in
  19. <ulink url="http://www.php.net/manual/de/reserved.variables.php#reserved.variables.session"><code>$_SESSION[]</code></ulink>
  20. gespeichert, durch <classname>Zend_Session</classname> verwaltet und durch <classname>Zend_Session_Namespace</classname>
  21. Zugriffsobjekte individuell verändert werden. <emphasis role="bold">Session Namensräume</emphasis> gestatten
  22. den Zugriff auf Session Daten durch Verwendung klassischer
  23. <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">Namensräume</ulink> welche
  24. durch logische, namentlich gruppierte, assoziative Arrays, dessen Schlüssel mit Zeichenketten benannt sind
  25. (ähnlich wie bei normalen PHP Arrays), implementiert sind.
  26. </para>
  27. <para>
  28. <classname>Zend_Session_Namespace</classname> Instanzen sind Zugriffsobjekte für benannte Abschnitte von
  29. <code>$_SESSION[]</code>. Die <classname>Zend_Session</classname> Komponente wrappt die bestehende PHP Erweiterung
  30. ext/session mit einem Administrations und Management Interface sowie einer API für
  31. <classname>Zend_Session_Namespace</classname> um Session Namensräume zu erlauben. <classname>Zend_Session_Namespace</classname>
  32. bietet ein standardisiertes, objekt-orientiertes Interface für das Arbeiten mit Namensräumen welche
  33. innerhalb von PHP's Standard Session Mechanismum bereitgehalten werden. Es werden sowohl anonyme als auch
  34. authentifizierte (z.B., "login") Session Namensräume unterstützt. <classname>Zend_Auth</classname>, die
  35. Authentifizierungs-Komponente des Zend Framework verwendet <classname>Zend_Session_Namespace</classname> um einige
  36. Informationen, welche mit den authentifizierten
  37. Benutzern verbunden sind, innerhalb des "Zend_Auth" Namensraums zu speichern. Da <classname>Zend_Session</classname>
  38. intern die normalen PHP ext/session Funktionen verwendet, sind alle bekannten Konfigurationsoptionen und
  39. Einstellungen vorhanden (siehe <ulink url="http://www.php.net/session">http://www.php.net/session</ulink>),
  40. mit dem Bonus und Komfort durch ein Objekt-orientiertes Interface und unterstützt standardmäßig beides,
  41. sowohl die beste Lösung als auch eine reibungslose Integration innerhalb des Zend Frameworks. Deshalb hält
  42. eine standardmäßige PHP Session Identifizierer, welche entweder in einem Client-Cookie gespeichert oder in
  43. einer URL integriert ist, die Verbindung zwischen Client und bestehenden Sessiondaten aufrecht.
  44. </para>
  45. <para>
  46. Das standardmäßige
  47. <ulink url="http://www.php.net/manual/de/function.session-set-save-handler.php">ext/session Speichermodul</ulink>
  48. löst das Problem des Verwaltens dieser Verbindung unter bestimmten Bedingungen nicht, weil Session Daten
  49. am Dateisystem des Servers gespeichert werden der auf die Anfrage antwortet. Wenn eine Anfrage von einem
  50. anderen Server beantwortet wird and dem wo die Session Daten vorhanden sind, hat der antwortende Server keinen
  51. Zugriff auf die Session Daten (wenn diese nicht durch ein Netzwerk Dateisystem verfügbar sind). Eine Liste
  52. von zusätzlichen, geeigneten Speichermodule wird, sobald Sie vorhanden ist, zur Verfügung gestellt. Mitglieder
  53. der Community werden ermutigt Speichermodule vorzuschlagen und an die
  54. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink> Mailing-Liste zu senden.
  55. Ein Zend_Db kompatibles Speichermodul wurde schon in der Liste veröffentlicht.
  56. </para>
  57. </sect1>