![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 5 Dołączył: 10.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Napisałem sobie klasę game
No i oczywiście plik z formularzem.
Moje pytanie brzmi, czy da to się łatwiej zrobić? (bez wykorzystywania sesji, raz ustawić obiekt i potem cały czas z niego korzystać) Po co używać wzorca singleton. Przecież podczas pisania kodu, osoba, która go pisze wie czy utworzyła już dany obiekt czy nie... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. W momencie wywołania funkcji session_start() następuje odczytanie i deserializacja danych z pliku (czy gdziekolwiek przechowujesz dane). W swoim kodzie nie zdefiniowałeś żadnego autoloadera, a klasę Game wczytujesz dopiero po wystartowaniu sesji, więc PHP nie ma pojęcia jak zdeserialiozwać obiekt typu Game, bo nie zna typu Game. Powinieneś skorzystać z autoloadera, albo przenieść wczytanie pliku game.php przed session_start().
2. Powinieneś raczej wrzucać cały obiekt do sesji. Gdy pojawią się nowe właściwości w grze nie będziesz musiał przynajmniej bawić się w modyfikowanie mechanizmu gry nigdzie poza samą klasą Game. 3. Jeżeli decydujesz się na wrzucenie obiektu do sesji powinieneś raczej implementować przy nim interfejs Serializable. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 21:00 |