![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, uczę się OOP, zacząłem dla testów pisać klasę obsługująca bazę na podstawie PDO ( Trudno to nazwać DIC ). I proszę Was o ocenę czy w dobrą stronę to zmierza czy może podejście mam złe i później sobie skomplikuje życie ?
"Klasa DIC"
Pomijając kwestię iż trzymam dane do połączenia w klasie, czy ma mniej więcej tak to wyglądać ? Ciekawi mnie dlaczego musiałem zdefiniować funkcję prepare ... jak jej nie dopiszę to wywala mi później że nie istnieje ;x Klasa User:
Kod napisany tylko żeby sprawdzić czy się uruchamia. A wywołuje metody tak:
Ogólnie działa, no chyba że skasuje metode prepare w klasie DataBaseConnection to wtedy już nie ;p Tylko pytanie jak już wcześniej napisałem czy dobrą drogą idę ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Prawdę mówiąc, po cichu liczyłem na Twoją odpowiedź Crozin ;]
Z racji tego iż chcę nabrać dobrych nawyków, spróbuje podejść kompleksowo. Cytat 4. Musiałeś zdefiniować dla klasy DataBaseConnection metodę prepare bo dlaczego niby miałaby ona istnieć sama z siebie? Obiekt PDO udostępnia prepare(), query(), beginTransaction() i masę innych, nie DataBaseConnection. No właśnie zdefiniowałem tylko prepare() a np. execute(), bindParam() już nie musiałem bo działało ... i dlatego nie rozumiem czemu. Cytat Pomijam tutaj już fakt, że wybieranie danych z bazy i ich reprezentacja w formie jednego obiektu klasy User jest bardzo złym podejściem. Powinieneś mieć raczej jeden obiekt przeznaczony do reprezentowania użytkownika (User) i drugi do wybierania takowych np. z bazy danych, czyli tzw. "model" (UserRepository). Cenna uwaga, ale napisałem przykład z pierwszego postu tylko żeby sprawdzić czy w ogóle to działa.
Czyli teraz odwołuje się tak ?:
Moje pytanie brzmi, dajmy na to miałbym klasy User ... Admin, Auth, etc. ( nie wiem co tam jeszcze wymyśle (IMG:style_emoticons/default/tongue.gif) ) Każdy obiekt generuje ( w razie potrzeby połączenia z bazą) poprzez
A czy takie podejście żeby się nie powtarzać ma sens?
A do reszty się nie ustosunkuje bo ze wstydu nie wiem nawet co powiedzieć (IMG:style_emoticons/default/oneeyedsmiley02.png) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 19:15 |