![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wcześniej pisałem swoje stronki zupełnie bez ładu i składu, przyszedł jednak czas potężnego projektu (prac dyplomowa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) i czas zrobić to porządnie. Mam zatem pytanie:
1) czy pisać właśną klasę obsługi bazy danych czy skorzystać z gotówców, jeśli tak to z jakich? 2) do czego tak na prawdę służa CREOLE, ADODB, PEAR i czy warto je stosować w momencie kiedy tylko bedą obsługiwać mysql? 3) czy może, ktoś z forumowiczów ma własną klasę obsługującą połączenia z bazą danych i chce, może ją udostępnić, tudzież, czy może dać wskazówki, rady czego się wystrzegać podczas pisania własnej klady? Wiem, że pytania są naiwne i część z nich porozsiewana jest po forum php5, ale mimo przeczytania sporej ilości postów w dniu dzisiejszych nie jestem w stanie ogarnąć tego wszystkiego i w jakiś sensowny sposób poukładać sobie w głowie. Więć stąd moje pytania |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Aztech @ 2005-11-23 00:19:15) 1) czy pisać właśną klasę obsługi bazy danych czy skorzystać z gotówców, jeśli tak to z jakich? Taki abstrakt, żeby był dobry potrzebuje sporego nakładu pracy co za tym idzie czasu pracy. A jest klika dobrych, więc po co wynajdywać koło po raz n-ty :?: No chyba że to bedzie pzredmiotem Twojej pracy.Cytat(Aztech @ 2005-11-23 00:19:15) 2) do czego tak na prawdę służa CREOLE, ADODB, PEAR i czy warto je stosować w momencie kiedy tylko bedą obsługiwać mysql? Abstrakt bazodanowy powinien w tej chwili oferować dwie podstawowe rzeczy:1. Możliwość pisania pod dowolna bazę danych. Zawsze możesz emigrować na inną baze bez modyfikacji swojego kodu. 2. Ułatwienie korzystania z bazy, przy pomocy serii przydatnych funkcji oraz metod. Zwracanie wyników jako obiekty, statystyki, debugery, ..., co tylko zechesz. Uważam że warto, nawet jeśli nastawiasz się tylko na MySQL'a. P.S. Creole, AdoDB owszem. Ale PEAR tutaj nie pasuje. Owszme jedną z bibliotek PEAR'a jest jakiś abstrakt, ale wywołanie go tu w całości to pomyłka. Cytat(Aztech @ 2005-11-23 00:19:15) 3) czy może, ktoś z forumowiczów ma własną klasę obsługującą połączenia z bazą danych i chce, może ją udostępnić, tudzież, czy może dać wskazówki, rady czego się wystrzegać podczas pisania własnej klady? Poszukaj, na pewno cos się znajdzie.Ja osobiście polecam bardzo Creole'a oraz AdoDB. Obie są fajne, Creole podoba mi się bardziej, ale AdoDB ma więcej możliwości. Temat wędruje na php, na php5 miejsca dla niego nie ma (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@mike_mech: dzieki za szybką odpowiedź
Pisanie samego abstraktu nie jest przedmiotem mojej pracy, ma on być tylko częścią całego systemu wspomagającego nauczanie na moim kierunku - taki właśnie system tworzę. Sam także wychodzę z założenia, że nie powinno się pisać coś co zostało już kiedyś przez kogoś stworzone, ale wolę popytać ludzi, którzy na codzień mają z tym styczność o opinie. A tak przy okazji czy jest gdzieś jakiś polski kurs, manual Creola bo nie znalazłem (angielski mi nie przeszkadza, ale dłużej trwa jego przetwarzanie - czyt. zrozumienie) @all: czekam na dalsze uwagi Ten post edytował Aztech 23.11.2005, 00:52:29 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ad 1. zdecydowanie polecam ADODB. Z CREOLE kontaktu nie mialem wiec nie moge sie wypowiedziec
Ad 2. ADODB bardzo ulatwia pisanie skryptow z wykorzystaniem bazy, dlatego warto wg mnie go uzyc nawet jesli korzystasz tylko z mysql. i tak jak mowi mike_mech - a nuz sie okaze ze konieczna jest przesiadka na inny serwer bazodanowy. PEAR jest to zestaw klas wspomagajacych pisanie. Korzystam z Mail_mime przy wysylaniu maili i poza jednym mankamentem (niedawno pytalem sie o ten mankament na forum) bardzo jestem z niej zadowolony. Z innych paczek poki co nie mialem potrzeby ani okazji korzystac, choc prezentuja sie na tyle ciekawie ze uwazam ze warto poznac ich mozliwosci (np. klasa Image_Graph). Ad 3. Wydaje mi sie ze w momencie kiedy istnieja ww systemy jak dla mnie jest to wywazanie otwartych drzwi |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ad 2. ADODB bardzo ulatwia pisanie skryptow z wykorzystaniem bazy No, to pochwal sie jakich featursów uzywasz... bo mi np. wystarcza GetArray();, GetRow();, GetOne(); i _ewentualnie_ EscapeArray();. Jak mozna sie domyslic, implementacja tych funkcji we wlasnym zakresie to okolo 50 linii kodu php. A adodb wazy nieporownywalnie wiecej. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 312 Pomógł: 0 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
możesz zamiast istniejących już klas abstrakcji spróbować PDO jako nowe rozwiązanie
technologincze dla php, ewentualnie zdefiniować dla niego dodatkową abstrakcję. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zdecydowałem się na ADODB, z kilku powodów
1) ponieważ posiada polską dokumentację, przystępnie napisaną - być może ktoś będzię później modyfikował mój projekt, więc polska dokumentacja przyda się jak znalazł 2) jest w miarę przystępne, przykłady można łatwo znaleźć i istnieje już na rynku od dłuższego czasu, więc znane są jego wady/zalety/kłopoty i rozwiązania na różne bolączki 3) PDO moze się zmieniać, co jest wyraźnie zaznaczone w dokumentacji php i używać go można na własne ryzyko - a wiec nie jest w tym momencie rozwiązaniem przyszłościowym dla mnie, nie mogę bowiem pozwolić sobie na to, że w momencie, gdy na serwerze będzie inna wersja php 5.x.x niż ta pod, którą ja piszę, całość nie będzie działała (aczkolwiek sugestia co do PDO jest słuszna, zawsze można spróbować) |
|
|
![]()
Post
#8
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Abstrakt? Obrzydliwe słowo, jakoś wolę angielski odpowiednik ;]
Nie prawdą jest, że jeśli będziesz używać db layera to nie ma problemów w przeniesieniem na inne bazy aplikacji. Wspólne jest tylko API db layera a same zapytanie mogą się bardzo różnić. Ja używam praktycznie wyłącznie PDO, bo w przyszłości (czytaj. php > 5.1) będzie domyślnie zainstalowe razem z obsługą bazy. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale piszesz własny abstrakt dla PDO, czy też zostawiasz tak jak jest?
Co do zapytań to masz rację, ale wtedy i tak masz dużo mniej roboty niż gdyby trzeba było zmieniać wszystko (na marginesie prawdopodobieństwo, że kedykolwiek moja praca zostanie przeniesiona na Oracle jest jak 1:10000) Mam jeszcze jedno pytanko: czy AdoDB + Smarty nie będą za bardzo razem zamulały?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował Aztech 23.11.2005, 13:19:57 |
|
|
![]()
Post
#10
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Do PDO dopisywałem tylko klasę MyPDO, która pobierała z konfiguracji dane: user, hasło, host i tworzyło obiekt, i z metodą getPDO(), która zwracała obiekt PDO, bo przecież konstruktor tego nie zwróci.
Smarty + AdoDB nie będzie zamulać ;] |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@mike_mech
Cytat Abstrakt bazodanowy powinien w tej chwili oferować dwie podstawowe rzeczy: 1. Możliwość pisania pod dowolna bazę danych. Zawsze możesz emigrować na inną baze bez modyfikacji swojego kodu. I tu sie bardzo myslisz. Jesli nastawiamy sie na aplikacje dzialajace pod roznymi bazami danymi i zakladamy ze ten kod moze dzialac pod wszystkim to tak, wtedy od bazy oczekujemy tylko prostych zapytan, bez wykorzystania ich mozliwosci. Jesli stoworze sobie aplikacje np korzystajaca z funkcji plsql to powiedz mi jakim cudem uda mi sie ja przeniesc np ma mssqla czy mysqla? Bo ja jakos sobie nie wyobrazam. Dla mnie i tak najwazniejsza jest baza danych, bo tak naprawde dane sa przetwazane przez nia, a php tylko je prezentuje. Tak naprawde nie da sie stworzyc wydajnej aplikacji z tym samym kodem pod kazda bazke. DB layer ma przedewszystkim sluzyc w latwosci wyciagania danych i zapominania o funkcjach typu pg_query, itd. Zakladanie ze jeden kod moze obsluzyc wiele baz jest bledym podejsciem, no chyba ze nie patrzysz na wydajnosc baz danych. |
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
@SongoQ, @bela_666 macie rację. Oczywiście.
Wiadomo, że specyfikacja SQL w różnych systemach bazodanowych jest różna i nie da się napisać uniwersjalnej aplikacji. Można natomiast osiągnąć to dopóki używamy "uniwersalnych" możliwości bz danych i nie skupiamy się na specyficznych "bajerach". Przy abstraktach IMO ważniejsze od przenośności (bo tak jak mówicie nie jest to tak naprawdę w 100% osiągalne), jest wygoda pracy i daoatkowe bajerki. Zliczanie zapytań, czasów zapytań, debugger, "plucie" wyjątkami, ... |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Odnosnie PDO, jestem pod wrazeniem, przyznam sie nigdy nie korzystalem z tego ale z tego co http://www.oracle.com/technology/pub/artic...do_oracle5.html widze to jak dla ORACLE to bardzo polecam.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
@ActivePlayer
Cytat No, to pochwal sie jakich featursów uzywasz... bo mi np. wystarcza GetArray();, GetRow();, GetOne(); i _ewentualnie_ EscapeArray();. Jak mozna sie domyslic, implementacja tych funkcji we wlasnym zakresie to okolo 50 linii kodu php. A adodb wazy nieporownywalnie wiecej. nie zamierzam ci tutaj nic wymieniac, ale AdoDB oferuje jeszcze inne ciekawe metody o ktorych nie wspomniales. Pewnie ze mozna sobie samemu napisac. Wszystko mozna samemu napisac. Ale po co? nie twierdze ze trzeba leciec na samych gotowcach bo to tez jest bzdura, ale generalnie nalezy sobie ulatwiac zycie. Nie twierdze tez ze AdoDB jest najlepszym wyjsciem - innych klas nie mialem potrzeby testowac. I podsumowujac, to ze AdoDB wazy zdecydowanie wiecej niz 50 linijek kodu nie neguje tego ze ulatwia pisanie |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przyznam się szczerze, że zapytałem właśnie o AdoDB, Creole właśnie z paru powodów, które tu zostały wymienione, a w zasadzie z jednego głównego:
po co tworzyć coś, co już ktoś kiedyś napisał, co jest dobre, sprawdzone. Powiem szczerze, że bardzo ułatwi mi to pracę, bo teraz mogę się skncentrować na najważniejszej czesci mojej pracy dyplomowej nie przejmując się obsługą bazy danych i zapytaniami (a konkretnie ich prawidłową implementacją). Mam jednak jeszcze jedno dodatkowe pytanie: mam rozumieć, że wszelkie problemy związane z bezpieczeństwem są w ADODB oraz Creole rozwiązane wzorowo?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
I właśnie tu nie jestem pewien co do ADODB jak mam wyłączone magic_quotes_gpc to nie slashuje mi automatycznie danych (nie wiem jak z PreparedStatement) z formularza muszę je ręcznie przygotowywać.
Z tego co wiem to twórcy Creole inspirowali się JDBC a tam podobno poziom zabezpieczenia przed SQL Injection jest dość wysoki. Ten post edytował NoiseMc 23.11.2005, 16:03:23 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Ja powiem tylko jedno. Widziałem w firmie projekt - jakiś programista forsował Creole - tyleże dla 82 tabel w ktorych niektore mialy po 25 kolumn. Ilosc wygenerowanego kodu krotko mowiac przerazala.
EDIT: Uppps - Bela_666 - ma racje pomylilem Creole z Propelem. |
|
|
![]()
Post
#18
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ilosc wygenerowanego kodu krotko mowiac przerazala. Kodu SQL? |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 562 Pomógł: 15 Dołączył: 8.08.2003 Skąd: Denmark/Odense Ostrzeżenie: (0%) ![]() ![]() |
Creole to szajs, równie koszmarny co jakakolwiek konfiguracja w xml'u. ADODB jest uzyteczne dla dużych projektów, które potrzebują dużej ilości niestandardowych możliwości.
Dla prostej aplikacji znacznie łatwiej i szybciej (IMO) napisać własną małą klasę. |
|
|
![]()
Post
#20
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bregovic @ 2005-11-23 17:53:05) Creole to szajs, (...) Twoją opinię już znamy, a mógłbyś ją uzasadnić :?: Ja uważam że Creole jest bardzo fajny. Bardzo lekka i przejrzysta klasa, nadająca się do małych oraz średnich projektów. Ma bardzo przejrzysty kod napisany pod php5. Jedyne wady/braki jakie w niej znalazłem, to: 1. Brak debugera (takiego jak w AdoDB), choć przy zastosowaniach małych i średnich nie jest to takie straszne. 2. Zły kod błędu w SQLException (...), ale można to bardzo łatwo poprawić (zaleta dobrego kodu); Ale już niedługo IMO Creole zostanie wyparte prze PDO |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Co rozumiecie poprzez mały, średni, duży projekt.
Poniżej link do schematu bazy danej (projekt bardzo wstępny) wraz z relacjami SCHEMAT (uwaga plik waży około 130kb) Waszym zdaniem projekt ten jest mały, średni, duży? Lepiej będzie do tego użyć Creole, ADODB?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Mój ma następującą specyfikację (bardzo ogólną tutaj) - najważniejsze zaczyna się od podpunktu 2.1 Kod Internetowy system zarzadzania trescia cwiczen i wspomagania samodzielnego ksztalcenia w dziedzinie automatyki i robotyki.
1) Sformulowanie problemu W dzisiejszych czasach material dydaktyczny oferowany studentom jest bardzo czesto kompromisem pomiedzy potrzebami studentow a tym co moze przygotowac zespol prowadzacych w czasie, ktorym dysponuja. Wynika to z rozmaitych przyczyn, m.in. ze stosunkowo duzej liczby studentow przypadajacych na pracownika. Jak na razie ten trend ma charakter trwaly. Najczesciej rezygnuje sie z zadan do samodzielnego wykonania przez studenta poza regularnymi zajeciami, ktore daly by mu mozliwosc ugruntowania i rozwiniecia swojej wiedzy nabytej podczas kursu. Wydaje sie, ze jedna z mozliwych drog rozwiazania powzej nakreslonego problemu jest stworzenie internetowego systemu, w ktorym w jednolitej formie i miejscu prowadzacy beda mogli redagowac, testowac, opiniowac, publikowac i wykorzystywac zadania do swoich kursow. Wielu uzytkownikow nawet przy niewielkiej liczbie zgloszonych zadan bedzie mialo do dyspozycji bogata oferte cwiczen. Niewiele pracy i wiele korzysci. System powinien uwzgledniac specyfike dydaktyki na kierunku Automatyka i Robotyka ze szczegolnym wskazaniem na specjalnosci Robotyka. Powinien umozliwiac quizy (na wzor ekranowek ale bez autoryzacji) oraz ograniczone cwiczenia numeryczno symulacyjne z wykorzystaniem MATLAB Web Serwer (na bazie wersji probnych). Powinien miec rowniez cechy klasycznego zbioru zadan, w ktorym istnieje rozdzial ze wskazowkami i odpowiedziami. 2) Wybrane zagadnienia Wzorem dla systemu sa Wikipedia oraz Moodle. Pierwszy serwis doskonale sie sprawdza jako publikacja tworzona w trybie rozproszonym, przez nieograniczona liczbe autorow. Drugi z systemow jest dobrym przykladem technik samo-testowania, w szczegolnosci quizow. 2.1) Uzytkownicy i poziomy jawnosci. Uzytkownicy w systemie powinni dzielic sie na nauczycieli (redaktorow) i studentow. Kazdy z nauczycieli moglby zalozyc swoj watek tematyczny (za zgoda administratora systemu) i redagowac zbior zadan w ramach tego watku. Inni nauczyciele mieliby mozliwosc publikowania na trzech poziomach: testowym, ograniczonym i pelnym (za zgoda redaktora watku). Na poziomie testowym inni nauczyciele (ale nie wszyscy) i wybrani studenci powinni miec mozliwosc recenzowania zadania i wyrazania opinii na jego temat. Na tym poziomie nauczyciel powinien miec mozliwosc realizacji zadania w ograniczonych grupach studenckich. Na poziomie ograniczonym z zadania moga korzystac zarowno studenci jak i nauczyciele z okreslonej grupy. Na poziomie pelnym zadanie moze byc dostepne na zewnatrz. Z kazdym zadaniem powinne byc stowarzyszone podpowiedzi i odpowiedzi. W przypadku odpowiedzi wskazana jest nie tylko tradycyjna forma (tekst rozwiazania) ale rowniez forma interaktywa oparta np. na MATLAB Web Serwer. Byc moze warto zastanowic sie nad wywolywaniem innych programow obslugujacych odpowiedzi na pytania/zadania (cos na wzor skryptow cgi ?) 2.2) Testy Testy wyboru. Na ekranie powinien pojawic sie formularz z pytaniami i guzikami "prawda", "falsz", "nie wiem" oraz z informacja o czasie realizacji testu. Wskazane rowniez stronicowanie: po odpowiedzi na grupe pytan na jednym formularzu pojawia sie kolejna grupa pytan na nastepnym formularzu Quizy. To testy wyboru sekwencyjne (podobnie jak ekranowki), najlepiej jeszcze kiedy sa one ograniczone w czasie. Wzor to quizy systemu Moodle. 2.3) Uzytkownicy II Uzytkownicy systemu powinni sie dzielic na tych co maja konta i tych co nie maja. Ci co maja konta powinni miec mozliwosc dobierania sie w grupy. Nauczyciel powinien miec mozliwosc tworzenia grup studenckich realizujacych dane zadanie oraz grup prowadzacych opiekujacych sie dana grupa studencka. Studenci rowniez powinni miec mozliwosc dobierania sie w grupy w systemie w celu wspolnej realizacji okreslonego zadania (zarowno bez nadzoru nauczyciela jak i pod nadzorem). Forum dyskusyjne z mozliwoscia umieszczania zalacznikow w dowolnych formatach powinno umozliwic im zdalna wspolprace. (Tu nalezy zbadac mozliwosc wspolpracy z gg i byc moze z jakims systemem konferencyjnym) 3) Inne Poczatkowo wydawalo mi sie, ze ze nowy system powinien byc samodzielna caloscia. Obecnie coraz bardziej sklaniam sie ku koncepcji integracji nowego systemu z SOLem. Trzeba bedzie zbadac na ile jest to mozliwe. Ten post edytował Aztech 23.11.2005, 20:08:03 |
|
|
![]()
Post
#22
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
LUDZIE!!! Czy wy umiecie czytać i myśleć? Mylicie Creole z Propelem.
A co do XML-a. Hibernate też ma konfiguracje w XML-u i wszyscy się nim zachwycają, bo na prawdę jest czym. |
|
|
![]()
Post
#23
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Cytat @ActivePlayer QUOTE No, to pochwal sie jakich featursów uzywasz... bo mi np. wystarcza GetArray();, GetRow();, GetOne(); i _ewentualnie_ EscapeArray();. Jak mozna sie domyslic, implementacja tych funkcji we wlasnym zakresie to okolo 50 linii kodu php. A adodb wazy nieporownywalnie wiecej. nie zamierzam ci tutaj nic wymieniac, ale AdoDB oferuje jeszcze inne ciekawe metody o ktorych nie wspomniales. Mysle ze nie wymieniles, bo nie uzywasz nic poza tym co wymienilem |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bela_666 @ 2005-11-23 13:51:20) Do PDO dopisywałem tylko klasę MyPDO, która pobierała z konfiguracji dane: user, hasło, host i tworzyło obiekt, i z metodą getPDO(), która zwracała obiekt PDO, bo przecież konstruktor tego nie zwróci. Nie lepiej zrobic klase, ktora dziedziczy po PDO? Dodatkowo czy dobrym rozwiazaniem jest pobieranie danych do bazy w srodku klasy? Moze lepiej pozostac przy podawaniu w konstruktorze.. albo jeszcze lepiej, zrobic singleton i przy pobieraniu instacji podawac dane do bazy.. mozemy wtedy utworzyc np. dwa polaczenia.. jedno do postgresa, drugie do mysqla. Dodatkowo dziedziczenie pozwala nam rozszerzyc niektore funkcje... np. przy wywolywaniu zapytan mozna dodac mozliwosc logowania zapytan. Cytat A co do XML-a. Hibernate też ma konfiguracje w XML-u i wszyscy się nim zachwycają, bo na prawdę jest czym. Planowalem tez konfiguracje miec w XML.. ale akurat nigdy mi sie nie chce.. latwiej mi to zrobic na plikach ini badz odrazu w php. Poprostu jest mi tak szybciej. Moze z czasem, jak projekt nabierze juz koncowych krztaltow to czlowiekowi sie zachce napisac skrypt, ktory bedzie generowal taki xml, a potem go zamienial na php.. ale narazie brak mi argumentow by bylo to konieczne. Chyba, ze masz jakies?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował sf 23.11.2005, 22:35:44 |
|
|
![]()
Post
#25
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(sf @ 2005-11-23 23:32:33) Nie lepiej zrobic klase, ktora dziedziczy po PDO? Z tego co pamiętam to były kłopoty z tym, bo PDO (czy konstruktor) było zadeklarowany jako final i w tym miejscu wszystko leży. Więc dlatego miałem w ten sposób rozwiązane. Zresztą chyba też na singletonie oparte. |
|
|
![]()
Post
#26
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Troche pytanie bedzie odbiegalo od tematu ale jesli mowa o wielu polaczeniach do baz i to do roznych to chcialbym sie dowiedziec w jaki sposob to robicie. Chodzi mi o cos takiego: jest sobie jakis tam framework i jeden modul (model) korzysta np z MySQLa a 2 z PG przy czym absluga sesji lezy w PG i inforcajce dotyczace userow.
|
|
|
![]()
Post
#27
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(SongoQ @ 2005-11-24 09:54:42) (...) Chodzi mi o cos takiego: jest sobie jakis tam framework i jeden modul (model) korzysta np z MySQLa a 2 z PG przy czym absluga sesji lezy w PG i inforcajce dotyczace userow. Zainteresuj się Mojavi. W tym frameworku jest zaimplementowana klasa DatabaseManager do równoległych połączeń z różnymi bazami danych. Działa bardzo fajnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bela_666 @ 2005-11-23 23:30:49) Cytat(sf @ 2005-11-23 23:32:33) Nie lepiej zrobic klase, ktora dziedziczy po PDO? Z tego co pamiętam to były kłopoty z tym, bo PDO (czy konstruktor) było zadeklarowany jako final i w tym miejscu wszystko leży. Więc dlatego miałem w ten sposób rozwiązane. Zresztą chyba też na singletonie oparte. Nom, byl taki wlasnie bug z final. Zostalo to na szczescie poprawione (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 1 Dołączył: 24.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mike_mech @ 2005-11-23 00:38:12) P.S. Creole, AdoDB owszem. Ale PEAR tutaj nie pasuje. Owszme jedną z bibliotek PEAR'a jest jakiś abstrakt, ale wywołanie go tu w całości to pomyłka. wywoływanie w całości PEAR? O so chodzi? PEAR ma po prostu kilka sytsemów do obsługi baz danych, PEAR::DB, PEAR::MDB i PEAR::MDB2. Wszystkie są bardzo dobre, jeżeli chodzi o możliwości, a najlepsze jest MDB2, bo oprócz tego, że ma możliwości to ma jeszcze szybkość. Nie ma jeszcze wersji finalnej, choć w zasadzie nie wiadomo dlaczego - wg. mnie można już spokojnie tego używać. Poza tym polecam AdoDB_Lite - odchudzoną wersję AdoDB. Można spróbować też z Solarem (link), który jest czymś w rodzaju PEARa tylko dla php5. Jest tam klasa do obsługi SQL, oparta na PDO nastawiona na przenośność - ma np. wbudowaną obsługę LIMIT dla różnych baz danych. Problem w tym, że jest to jeszcze w powijakach. I jeszcze jedno: może spróbować z ORM - Propel, albo ezPDO. Ten post edytował BugTomek 25.11.2005, 16:09:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 21:54 |