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%)
|
Kto Ci powiedział, że obiekt kontekstu ma być wszędzie?
To ja napiszę tak i się powtórzę - singletony PRZECZĄ hermetyzacji. Idealna aplikacja powinna wyglądać tak, że ją odpalasz jakimś obiektem aplikacji i koniec, wszystko się dzieje wewnątrz, a ty nie masz do niczego dostępu, zarazem zachowując pełną kontrolę. Niech szlak trafi ZF za rozpropagowanie tego cholernego wzorca. Zrobili zbiór klas, które działają tak luźno, że nie sposób nie korzystać z rejestru. Nie po to w architekturze oprogramowania wymyśla się nieprzepuszczalne warstwy (czyli nie mówię tylko o MVC), żeby jakiś rejestr odstawił wszystko do lamusa. Weźmy na przykład aplikacje GUI, które trzymają się MVC - gdyby we frameworkach wspomagających tworzenie takiego oprogramowania warstwy by rzeczywiście na siebie nie zachodziły to by było super - a tak nadal się zdarza, że żółtodziub siada do klawy i zasysa dane bezpośrednio w akcji np. Button.onClick (co zasadniczo jest widokiem, a raczej szablonem jeżeli przerzucić to na myślenie WWW). Rejestr to taki kontekst dla leniwych. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 23.02.2005 Ostrzeżenie: (10%)
|
Kto Ci powiedział, że obiekt kontekstu ma być wszędzie? To ja napiszę tak i się powtórzę - singletony PRZECZĄ hermetyzacji. Idealna aplikacja powinna wyglądać tak, że ją odpalasz jakimś obiektem aplikacji i koniec, wszystko się dzieje wewnątrz, a ty nie masz do niczego dostępu, zarazem zachowując pełną kontrolę. Niech szlak trafi ZF za rozpropagowanie tego cholernego wzorca. Zrobili zbiór klas, które działają tak luźno, że nie sposób nie korzystać z rejestru. Nie po to w architekturze oprogramowania wymyśla się nieprzepuszczalne warstwy (czyli nie mówię tylko o MVC), żeby jakiś rejestr odstawił wszystko do lamusa. Weźmy na przykład aplikacje GUI, które trzymają się MVC - gdyby we frameworkach wspomagających tworzenie takiego oprogramowania warstwy by rzeczywiście na siebie nie zachodziły to by było super - a tak nadal się zdarza, że żółtodziub siada do klawy i zasysa dane bezpośrednio w akcji np. Button.onClick (co zasadniczo jest widokiem, a raczej szablonem jeżeli przerzucić to na myślenie WWW). Rejestr to taki kontekst dla leniwych. Kolego, nie bulwersuj się tak... nikt tu nie pisał, że kontekst ma być widoczny wszędzie, a dobrze by było aby uchwyt do bazy był. Co do idealnej aplikacji, to jeszcze taka nie powstała, więc zejdź na ziemię, bo popadasz w pewien wir, jak każdy, który dopiero co zachłysnął się wzorcami projektowymi. Aplikacja ma przede wszystkim działać i nie powinna być przekombinowana. Nie opowiadaj też o aplikacjach typowo desktopowych, bo mówimy o innym zastosowaniu. MVC nie powstał dla www! Nie da się w pełni zaimplementować wzorca MVC na potrzeby strony www! Na tą okoliczność powstał Model 2 i używajmy odpowiedniego nazewnictwa. No i w tym momencie masz z poziomu szablonu dostęp do bazy, o! A nie powiesz mi chyba, że to dobrze? Zrobili to dla wygody tylko. edit Wynika to z architektury Mojavi, gdzie aplikacja jest uruchamiana z poziomu kontekstu, a ten trzeba jakoś pozyskać. Znowu popadamy w obsesję? Wiadomym jest, że jeśli szablon jest wykonany w PHP to mamy dostęp do rożnych rzeczy, do których mieć byśmy nie chcieli, prawda? Przecież nic nie stoi na przeszkodzie, żebym utworzył np. nową instancję np. front controlla (o ile nie korzysta z singletona, których używania nie popierasz!). Co mnie przed tym powstrzyma? A co z innymi zmiennymi globalnymi i samym global? Jak się zabezpieczysz na tą okolicznosc, że coś nadpisze? Może w ogóle zrezygnować z szablonów w PHP i zrobić coś ala BBCode? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Powtarzam, nie ma idealnej aplikacji. KOMPROMIS KOMPROMIS KOMPROMIS. |
|
|
|
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
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
LBO Cytat(Black-Berry @ 4.12.2008, 20:06... 4.12.2008, 20:40:57
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 - 01:49 |