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) |
|
|
|
marcinq123 Ocena podejścia do Dependency Injection 5.01.2015, 20:54:55
Turson Pokaż var_dump($baza) w konstruktorze klasy U... 5.01.2015, 21:38:56 
marcinq123 Cytat(Turson @ 5.01.2015, 21:38:56 ) ... 5.01.2015, 22:00:21
Damonsson Takie trochę na siłę to DI. Do każdego obiektu będ... 5.01.2015, 21:45:58
Turson Właśnie Singleton się do tego nadaje. 5.01.2015, 22:02:23
marcinq123 No właśnie, ogólnie sobie poczytałem ... i w sumie... 5.01.2015, 22:08:22
Damonsson Jeżeli to jest po prostu zwykły model, to musisz m... 5.01.2015, 22:22:01
Crozin Z Twoim kodem wszystko jest źle i nie ma to wiele ... 6.01.2015, 12:41:19 
Damonsson Cytat(Crozin @ 6.01.2015, 12:41:19 ) ... 6.01.2015, 15:54:44
pyro @Crozin, +1 . Miałem to samo wymienić, ale nie chc... 6.01.2015, 13:16:13
Crozin CytatNo właśnie zdefiniowałem tylko prepare() a np... 6.01.2015, 14:14:06
marcinq123 Na tą chwile zostały rozwiane moje wątpliwości ;] ... 6.01.2015, 14:33:51
Crozin Cytat1. Jeżeli to jest zwykły model do połączenia ... 6.01.2015, 19:29:22
Damonsson 1. Metody, które i tak zawsze pobierają coś z bazy... 6.01.2015, 20:46:10
Crozin Doctrine 1? Ale mamy 2015 rok, środowisko PHP już ... 7.01.2015, 00:20:07 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 00:39 |