Zend_Session-Introduction.xml 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <sect1 id="zend.session.introduction">
  2. <title>Wprowadzenie</title>
  3. <para>
  4. Zespół Zend Framework Auth bardzo docenia twój wkład w naszą listę email:
  5. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
  6. </para>
  7. <para>
  8. W aplikacjach web używających PHP, a <emphasis role="bold">sesja</emphasis>
  9. reprezentuje logiczne połączenie jeden-do-jednego pomiędzy danymi o stanie
  10. użytkownika znajdującymi się na serwerze, a konkretną aplikacją
  11. użytkownika (np. przeglądarka stron internetowych).
  12. <code>Zend_Session</code> pomaga w zarządzaniu i zabezpieczaniu danych
  13. sesji, które są logicznym dopełnieniem danych w ciasteczku, pomiędzy
  14. wieloma żądaniami do serwisu przez tego samego klienta. W
  15. przeciwieństwie do danych z ciasteczka, dane sesji nie są przechowywane
  16. po stronie klienta i są one dostępne dla klienta tylko wtedy, gdy kod po
  17. stronie serwera dobrowolnie udostępni dane w odpowiedzi na żądanie
  18. klienta. Dla celów tego komponentu oraz dokumentacji, określenie "dane
  19. sesji" odnoszą się do danych przechowywanych po stronie serwera w
  20. tablicy
  21. <ulink url="http://www.php.net/manual/en/reserved.variables.php#reserved.variables.session"><code>$_SESSION</code></ulink>,
  22. zarządzanych przez <code>Zend_Session</code>,
  23. oraz indywidualnie manipulowanych przez obiekty dostępowe
  24. <code>Zend_Session_Namespace</code>.
  25. <emphasis role="bold">Przestrzenie nazw sesji</emphasis> zapewniają
  26. dostęp do danych sesji używając klasycznych
  27. <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">przestrzeni nazw</ulink>
  28. implementowanych logicznie jako nazwane grupy asocjacyjnych tablic, o
  29. kluczach będących łańcuchami znaków. (analogicznie jak tablice PHP).
  30. </para>
  31. <para>
  32. Instancje <code>Zend_Session_Namespace</code> są obiektami dostępowymi
  33. dla przestrzeni nazw będących wycinkami tablicy <code>$_SESSION</code>.
  34. Komponent <code>Zend_Session</code> rozszerza istniejącą funkcjonalność
  35. PHP ext/session dodając interfejs umożliwiający administrację i
  36. zarządzanie, a także zapewniając API dla przestrzeni nazw
  37. <code>Zend_Session_Namespace</code>.
  38. <code>Zend_Session_Namespace</code> zapewnia ustandaryzowany zorientowany
  39. obiektowo interfejs do pracy z przestrzeniami nazw istniejącymi wewnątrz
  40. standardowego mechanizmu sesji PHP. Wspierane są zarówno przestrzenie
  41. nazw dla anonimowych użytkowników, jak i dla uwierzytelnionych (np.
  42. zalogowanych). <code>Zend_Auth</code>, komponent autentykacji w Zend
  43. Framework używa <code>Zend_Session_Namespace</code> do przechowywania informacji
  44. związanych z autentykowanymi użytkownikami w przestrzeni nazw "Zend_Auth".
  45. Z tego względu, że <code>Zend_Session</code> używa normalnych
  46. wewnętrznych funkcji modułu sesji, oraz umożliwia użycie wszystkich
  47. znanych opcji konfiguracyjnych i ustawień (zobacz
  48. <ulink url="http://www.php.net/session">http://www.php.net/session</ulink>),
  49. a dodatkowo umożliwia dostęp za pomocą zorientowanego obiektowo
  50. interfejsu, to użycie tego modułu jest przykładem dobrej praktyki
  51. programowania, a także gładko integruje się z Zend Framework.
  52. Zatem standardowy identyfikator sesji PHP przechowywany albo w
  53. ciasteczku klienta, albo dołączony do adresów URL, umożliwia połączenie
  54. klienta oraz danych stanu sesji.
  55. </para>
  56. <para>
  57. Domyślna
  58. <ulink url="http://www.php.net/manual/en/function.session-set-save-handler.php">obsługa
  59. zapisu sesji</ulink> nie rozwiązuje problemu zarządzania tym powiązaniem
  60. dla klastrów serwerów, ponieważ dane sesji przechowywane są w systemie
  61. plików serwera, który odpowiada na żądanie. Jeśli żądanie może byc
  62. przetworzone przez inny serwer niż ten, na którym zapisane są dane
  63. sesji, to przetwarzający serwer nie ma dostępu do danych sesji (jeśli
  64. nie są dostępne w systemie plików połączonym siecią). Dodatkowe
  65. odpowiednie możliwości obsługi zapisu będą zapewnione, gdy będzie to
  66. możliwe. Namawiamy członków społeczności aby wysyłali propozycje
  67. możliwości obsługi zapisu na listę
  68. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
  69. Obsługa zapisu kompatybilna z Zend_Db została opisana na liście.
  70. </para>
  71. </sect1>