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