Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%)
|
Witam
Mam pytanie odnośnie współpracy PDO z własnymi klasami. Ktory sposob powinno sie uzywac: 1. Polaczenie z baza poza klasa (wlasna) i przekazywanie do niej obiektu typu PDO. Wszystkie zapytania, operacje na danych z bazy odbywaja sie we wlasnej klasie. 2. Wszystkie operacje zwiazane z baza odbywaja sie poza wlasna klasa (zapytania, pobieranie danych), a do mojej klasy przekazuje juz np. pobrane z bazy dane. Do tej pory caly czas pisalem strukturalnie, ale postanowilem to zmienic i oto pierwszy dylemat jaki napotkalem na swojej drodze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Jawor 9.11.2008, 16:27:35 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
@markac Ja nie mam pojęcia o programowaniu obiektowym?? Skoro tak to ty nie umiesz czytać bo napisałem ze jesli ktoś chce sobie zautomatyzować to dziedziczy po Core_Object a nie po DB!! I DB i twój przykładowy kot może być obiektem dziedziczącym po Core_Object i nie mów mi że to nie logiczne bo kot jest zwierzęciem a nie obiektem jądra. Może wyjaśnię. Musisz na takie rzeczy patrzeć z punktu logiki biznesowej. Czyli umieć oddzielić te obiekty, które w niej udział biorą (twoje klasy z których tworzysz aplikację, a także zewnętrzne 3rd party) i inne (zasadniczo systemowe należące do Twojego frameworka. Tworzące z Nim jednolitą całość, ale niekoniecznie, bo tu też możesz użyć zewnętrznych klas i wtedy wpadają w pierwszy przypadek).
Tutaj masz samo jąderko systemu i takie klasy jak LogManager, DatabaseManager mogą dziedziczyć po klasie System, ponieważ leżą w obrębie integralnych części frameworka., a ty zaoszczędzisz sobie deklarowania initialize(). I teraz fun part. Co jeżeli jako np. modelu chcesz użyć zewnętrznych narzędzi typu Doctrine lub Zend_Db? One nie mają wbudowanej obsługi inicjalizowania przez Twój system. Nie będziesz mógł dziedziczyć po klasie System, bo musisz dziedziczyć po klasach modelu. Co teraz? Na pomoc przychodzą interfejsy.
Rzecz jasna możesz wstrzyknąć jakiś InitializableZendDbTable pomiędzy Zend_Db_Table a ten model News, ale chciałem pokazać jak najprostszy przykład. Pozdrawiam, Alan Ten post edytował LBO 4.12.2008, 20:42:10 |
|
|
|
Jawor PDO i współpraca z własnymi klasami 9.11.2008, 16:26:41
LBO Przekazuj obiekt PDO i wykorzystuj go w klasach sł... 9.11.2008, 16:37:47
Jawor Cytat(LBO @ 9.11.2008, 18:37:47 ) S... 9.11.2008, 16:40:46 
Maciekbjw Cytat(Jawor @ 9.11.2008, 16:40:46 ) R... 23.11.2008, 00:20:40
LBO Cytat(Jawor @ 9.11.2008, 16:40:46 ) R... 9.11.2008, 16:47:15
Jawor Ok. Dzieki za pomoc.
Pozdrawiam 9.11.2008, 16:51:35
Black-Berry Z ostatnich testów i odrobiony teoretyzowania wysz... 9.11.2008, 17:31:14
LBO Prędzej
[PHP] pobierz, plaintext <?php$context... 9.11.2008, 17:35:59
Black-Berry A nie tak:
[PHP] pobierz, plaintext <?php$conte... 9.11.2008, 17:43:27
LBO Ja za stopkę aplikacji uważam na przykład ostatni ... 9.11.2008, 17:50:47
Black-Berry Racja. Twoje rozwiązanie jest bardziej eleganckie.... 9.11.2008, 17:57:49
markac Dajcie już spokój z tymi kontekstami i kopiowaniem... 9.11.2008, 20:15:48
LBO Rejestr to tylko niechlujność architektó... 9.11.2008, 20:21:05
Black-Berry Singletony są złe. A poza tym działają wolniej niż... 10.11.2008, 09:45:02
phpion @BlackBerry:
A czy przypadkiem nie jest tak, że co... 10.11.2008, 09:48:23
LBO No i w tym momencie masz z poziomu szablonu dost... 10.11.2008, 09:51:13
markac Tak się składa, że obiekt bazy danych ma być dostę... 10.11.2008, 11:20:28
Black-Berry Dlaczego na miłość Boga kontekst miałby być single... 10.11.2008, 11:23:43
LBO Kto Ci powiedział, że obiekt kontekstu ma być wszę... 10.11.2008, 11:37:02 
markac Cytat(LBO @ 10.11.2008, 11:37:02 ) Kt... 22.11.2008, 18:17:09
xmarcin troche odgrzewam temat, ale przyznam, że cos mnie ... 22.11.2008, 16:26:45
LBO Tak też można, jeżeli nie chcesz by... 22.11.2008, 17:12:06 
xmarcin Cytat(LBO @ 22.11.2008, 17:12:06 ) Ta... 23.11.2008, 12:02:54
LBO Cytat(markac @ 22.11.2008, 18:17:09 )... 22.11.2008, 19:05:02
wlamywacz Dołączę się do tematu. Jak napisać obsługę DB tak ... 22.11.2008, 22:37:05
Mize Przeczytaj cały wątek i potem swój kod.
... 23.11.2008, 00:34:31
Mize To co Ci będzie potrzebne ?
Skąd mamy wiedzieć co ... 24.11.2008, 14:10:57
xmarcin fakt... troche nie sprecyzowalem...
juz nie bede d... 24.11.2008, 23:31:24
wrzasq Ot, i najlepiej jeszcze podciągnijcie pod to walkę... 28.11.2008, 04:50:52
Black-Berry @wrzasq Zgadzam się z tobą. Co byś nei zrobił zaws... 28.11.2008, 17:09:42
orglee Troszkę się zastanawiałem nad tą dyskusją i najpie... 3.12.2008, 03:06:31
dr_bonzo [PHP] pobierz, plaintext <?php// Załaduj plik k... 3.12.2008, 03:24:30
orglee Tak coś właśnie czułem że... 3.12.2008, 03:32:35
dr_bonzo CytatChyba zapamiętasz rozmieszczenie katalogów, p... 3.12.2008, 03:50:18
orglee Heh. Edytowałem post przy użyciu szybkie... 3.12.2008, 04:13:43
markac Sorry orglee, ale ja już wolę __autoload. W system... 3.12.2008, 09:23:38 
orglee Cytat(markac @ 3.12.2008, 09:23:38 ) ... 3.12.2008, 16:52:57 
markac Cytat(orglee @ 3.12.2008, 16:52:57 ) ... 3.12.2008, 17:11:47 
Black-Berry Cytat(orglee @ 3.12.2008, 16:52:57 ) ... 4.12.2008, 14:49:57 
markac Cytat(Black-Berry @ 4.12.2008, 14:49... 4.12.2008, 18:52:32 
markac Cytat(Black-Berry @ 4.12.2008, 14:49... 4.12.2008, 20:30:44
dr_bonzo @orgle: ZS ma, eclipse nie ma, mi wystarczy jak na... 3.12.2008, 10:29:37 
mike Cytat(dr_bonzo @ 3.12.2008, 10:29:37 ... 3.12.2008, 10:48:36
orglee Uhh ależ mi dopiekłeś. Programuje w... 3.12.2008, 20:22:00
erix CytatMoże i jest pomysłowe ale czy istni... 4.12.2008, 17:50:17
Black-Berry Tak ale tam jest to rozwiązanie wbudowane a nie pa... 4.12.2008, 17:58:18
LBO Klasyczny problem
CytatTelefonistka dziedziczy po ... 4.12.2008, 20:04:03
Black-Berry @markac Ja nie mam pojęcia o programowaniu obiekto... 4.12.2008, 20:06:14
Black-Berry Tak, sory literówka. Dalej pisałem o Core_Object. ... 4.12.2008, 20:34:20
dr_bonzo @mike
CytatCytat@orgle: ZS ma, eclipse nie ma, (.... 4.12.2008, 20:35:22
Black-Berry @LBO No tak, zgadzam się. Ja cały czas o czymś tak... 4.12.2008, 20:50:49 ![]() ![]() |
|
Aktualny czas: 1.01.2026 - 03:41 |