![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Piszę aplikację w obiektowym php. Mam gotowe części służące do odczytu i manipulacji na danych, ale mam problem z dodawaniem nowych danych (np. rejestracją użytkowników). Nie wiem w jakiej (i czy w) klasie miało by się to dziać. Próbowałem się czegoś dowiedzieć na pl.comp.lang.php, ale nie otrzymałem ostatecznej odpowiedzi, więc pytam tu ![]() Do operacji na bazie danych używam statycznej klasy DataManager. Czy następujące rozwiązanie będzie poprawne z punktu widzenia projektowania obiektowego? Tworzę statyczną klasę Validator, która sprawdza poprawność wprowadzonych danych. W pliku rejestracja.php mam formularz. Po wysłaniu formularza sprawdzam odpowiednimi funkcjami z klasy Validator poprawność danych, a następnie funkcją np. DataManager::dodajUzytkownika dodaję użytkownika do bazy. Wszystkie te operacje są wywoływane poza jakąkolwiek klasą, po prostu wpisane w pliku rejestracja.php. Dzięki za pomoc Pozdrowienia Bartek -------------------- podróże wyprawy
firany zasłony poznań |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To co opisujesz to nadal jest proceduralne programowanie, tylko, że ujęte w klasy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Też tak to właśnie widzę, dlatego pytam...
Na początku chciałem rejestrację użytkownika włożyć do klasy Użytkownik, ale żeby wykonać jakąś operację na tej klasie muszę mieć stworzony obiekt użytkownika. Proszę o podsunięcie jakiegoś rozwiązania. Pozdrowienia Bartek -------------------- podróże wyprawy
firany zasłony poznań |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego nie mógłbyś tworzyć obiektu uzytkownik przed rejestracją? To że user jest niezarejestrowany to nie znaczy, że go nie ma.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dobrze piszesz, nie rozumiem gdzie widzisz problem.
Zawsze można też klasy serwisowe/peery/managery
To jaki sposób wybierzesz zależy tylko od Twoich preferencji i od Tego, czy to nie będzie przeszkadzać w przyszłości przy rozbudowie (nie odnoszę się tylko do Usera, ale do ogółu każdego projektu jakikolwiek w przyszłościu napiszesz). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
W tej chwili tworzę obiekt użytkownik dając do konstruktora parametr userid.
Tworzony jest obiekt z wszystkimi właściwościami, na których mogę operować. Jeśli całe to rozwiązanie jest błędne, to piszcie od razu. Nie rozumiem jak mógłbym tworzyć obiekt użytkownika, który się nie zarejestrował... Dobrze piszesz, nie rozumiem gdzie widzisz problem.
Czyli nie tworzyć użytkownika od razu pobierając dane, a robić (przy odczycie) coś na wzór?
-------------------- podróże wyprawy
firany zasłony poznań |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie, nic nie mówię jak ma być. Sam musisz dojśc do tego jak jest Tobie najwygodniej pobierać obiekty.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o to, że gdy chcesz zarejestrować użytkownika to wtedy możesz stworzyć obiekt i wykonać jego metodę rejestracja, tak jak w przykładzie ~LBO. To, że dopiero za chwilę go zarejestrujesz nie jest przeszkodą w tworzeniu obiektu.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli, jeżeli tak mi będzie wygodnie, to rozwiązanie jest poprawne, tak?
Wielkie dzięki za taką szybką pomoc! ![]() -------------------- podróże wyprawy
firany zasłony poznań |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie klasę (np. UserCollection), która będzie pobierała dane z bazy a z pobranej tablicy tworzyła Usera. W konstruktorze usera daj natomiast ładowanie z tablicy, ale z domyślnym null, żebyś mógł utworzyć pusty obiekt.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:42 |