![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 27.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, zaczynam sie bawic z Symfony i robie to zgodnie z polecanym tutaj na forum tutorialem Jobeet.
Poki co chyba mi dobrze idzie, ale w 4 rozdziale nie rozumiem jednej rzeczy
rozumiem, ze to przechwytuje jakies powiadomienia i bledy, tylko jakie? co robi ta zmienna $sf_user ? has to pewnie sprawdza czy jest, a get ustawia, a co tutaj robi to Flash? To pewnie dla wielu blahostka, ale nie do konca to rozumiem, wiec prosilbym o wytlumaczenie ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Flashe (z ang. można to przetłumaczyć jako "mignięcia") to nic innego jak zwykłe dane zapisane w sesji. To co je wyróżnia to to, że są automatycznie kasowane przy wykonaniu kolejnego żądania, dlatego używa się ich głównie do wyświetlania komunikatów.
Wyobraź sobie, że masz formularz i po jego wypełnieniu zapisujesz jakieś dane do bazy (np. nową prywatną wiadomość) i przenosisz użytkownika na stronę główną. Obsługa formularza wygląda mniej-więcej tak: Jeśli dane są prawidłowe, utwórz nowy rekord w bazie danych. Następnie przekieruj na stronę główną. (jak wiesz przekierowanie to nic innego jak wysłanie prośby do przeglądarki by automatycznie wykonała nowe żądanie - dlatego też komunikat musi być zapisany w sesji - inaczej byłby niedostępny "w drugim żądaniu"). Oczywiście na stronie głównej wypadałoby wyświetlić komunikat o tym, że wiadomość została wysłana. Taka wiadomość jest jednorazowa. Gdy użytkownik odświeży stronę główną nie powinno już jej być bo przecież nie wysłał już żadnej wiadomości. Gdy przejdzie na podstronę "kontakt" po czym wróci na stronę główną również nie powinno jej być. Normalnie musiałbyś zrobić coś w stylu: Jeżeli istnieje zmienna sesyjna "komunikat" wyświetl ją po czym usuń ją z sesji.. Wszystko co robią flashe to zwolnienie Ciebie z konieczności ręcznego usunięcia komunikatu. Cytat co robi ta zmienna $sf_user ? Zmienna ta jest automatycznie dodawana do każdego szablonu i zawiera obiekt reprezentujący użytkownika (w sensie internauty/sesji, a nie konkretnego wpisu w bazie danych). Jest to odpowiednik $this->getUser() wywołanego wewnątrz kontrolera.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:09 |