session_set_save_handler
Opis
bool session_set_save_handler ( callback otwórz, callback zamknij, callback czytaj, callback zapisz, callback niszcz, callback gc )session_set_save_handler() ustawia funkcje użytkownika do obsługi przechowywania sesji, które używane sa do zapisywania i odtwarzania danych skojarzonych z sesją. Jest to bardzo przydatne jeśli preferowany jest sposób przechowywania sesji inny niż ten, który jest dostarczany z PHP, np. przechowywanie danych sesji w lokalnej bazie danych. Zwraca TRUE w przypadku sukcesu, FALSE w przypadku porażki.
Notatka: Procedura obsługi "zapisz" nie będzie wywołana dopóki strumień wyjściowy jest otwarty. W związku z tym, wyjście instrukcji debugowania zawartych w procedurze "zapisz" nigdy nie będzie widoczne w oknie przeglądarki. Jeśli konieczne jest wyjście debugowania, sugerowane jest zapisanie tego wyjścia do pliku.
Poniższy przykład opisuje metodę przechowywania danych sesyjnych w plikach, podobną do tej obsługiwanej wewnętrznie przez PHP. Przykład ten może być łatwo rozszerzony aby móc użyć go z twoją ulubioną bazą danych obsługiwaną przez PHP.
Funkcja czytająca zawsze musi zwracać ciąg aby procedura obsługi działała zgodnie z przewidywaniami. Zwróć pusty ciąg jeśli nie ma żadnych danych do odczytania. Wartości zwracane przez inne procedury obsługi są konwertowane na wyrażenia logiczne. TRUE dla sukcesu, FALSE dla niepowodzenia.
Ostrzeżenie |
Od wersji PHP 5.0.5, funkcje obsługi zapisu i zamykania wywoływane są po zniszczeniu obiektów. W związku z tym, destruktory mogą używać sesji, ale nie mogą używać obiektów. W wersjach wcześniejszych, wywoływane były w odwrotnej koljeności. Możliwe jest wywołanie session_write_close() z destruktora aby rozwiązać ten problem kury i jajka. |
Zobacz także opis dyrektywy konfiguracji session.save_handler.
Poprzedni | Spis treści | Następny |
session_set_cookie_params | Początek rozdziału |