![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zablokowani Postów: 46 Pomógł: 0 Dołączył: 12.01.2006 Ostrzeżenie: (10%) ![]() ![]() |
Co poleciacie pod php 5 jako abstrakcyjną warstwę bazy danych: AdoDB czy Creole?
Największą zaletą Creole jest to, że w całości została napisana w PHP5 - ładnie obiektowo, z interfejsami, wyjątkami, itp. Natomiast AdoDB ma cache'owanie zapytań i chyba żadnego atutu więcej... |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
z Creole możesz połączyć propel'a, więc Creole
![]() |
|
|
![]()
Post
#3
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
z tego co wiem to PHP5 ma wlasny obiekt do obslugi baz danych... ;P
co creole sa modyfikacje pozwalajace uzywac cache, a adodb jest dosyc stara biblioteka, ale dzieki temu jest tez bardzo rozbudowana... wybor zalezy od tego co Ci dokladnie potrzeba. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Creole nie ma debuggera do zapytań jak AdoDB ...
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zablokowani Postów: 46 Pomógł: 0 Dołączył: 12.01.2006 Ostrzeżenie: (10%) ![]() ![]() |
Cytat z tego co wiem to PHP5 ma wlasny obiekt do obslugi baz danych... Tak, PEAR::DB i PEAR::MDB. Ale wolałbym jakąś abstrakcyjną warstę na PDO. Cytat co creole sa modyfikacje pozwalajace uzywac cache, a adodb jest dosyc stara biblioteka, ale dzieki temu jest tez bardzo rozbudowana... wybor zalezy od tego co Ci dokladnie potrzeba. Potrzebuję wydajnej, szybkiej i najlepiej napisanej w PHP5 abstrakcji wartwy interfejsu bazy danych do podstawowych zapytań obsługującą transakcje oraz keszowanie zapytań. hwao, mam ogromną prośbę: podaj mi link do wersji Creole z cache. Ten post edytował eMartio 27.03.2006, 17:37:30 |
|
|
![]()
Post
#6
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Wiesz nie chodzilo mi o PEAR ... :-P
http://www.cms.rk.edu.pl/PDO___interfejs_b...PHP5___195.html Tu znalazlem polski tutek ![]() w google masz wiecej. Nie moge znalesc tego linka, chyba to ktos na blogu pisal ze sam dopisal cache, jak znajde dam znac |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 26.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz też zainteresować się:
http://www.symfony-project.com/ Jest to obiektowy framework w php 5 Do obsługi bazy masz właśnie creole i propel. Oraz naprawdę imponujacą dokumentację. I bardzo duże mozliwości konfiguracyjne. Dodam jeszcze że jest to przeniesienie RoR na php. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 4 Dołączył: 22.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co pamiętam to Open Power Driver to nakładka na PDO która dodała możliwośc cachowania, więcej znajdziesz tutaj: http://www.openpb.net/
Pozdrawiam |
|
|
![]()
Post
#9
|
|
![]() 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%) ![]() ![]() |
@hwao
Cytat Wiesz nie chodzilo mi o PEAR ... :-P http://www.cms.rk.edu.pl/PDO___interfejs_b...PHP5___195.html Tu znalazlem polski tutek PDO nie jest abstraktem bazy danych, nie masz czegos takiego jak translacji zapytan, PDO to zbior klas ktore dostarcza wspolne API do kilku baz danych. Zadaniem Abstraktu bazodanowego jest stosowanie 1 zapytania ktore dziala pod wiele baz danych, ale jak wiadomo masz rozbierznosci. MySQL - LIMIT x,y PG - LIMIT OFFSET ORACLE - nie ma limitu Celem no ADoDB jest translacja tego rodzaju rozbierznosci, PDO nie posiada czegos takiego. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Sugerujesz SongoQ, ze ADOdb automatycznie przetlumaczy odpowiednie elementy SQL dla potrzeb konkretnej bazy?
Byloby super, bo jest kilka roznic miedzy pgsql i mysql i nie wiem jak to pogodzic. Jest np. roznica przy Insercie, kiedy mamy pole auto_increment (czy tez serial) - w pgsql wpisujemy w tym miejscu DEFAULT a w mysql wstawiamy pusta wartosc ''. Ale w takim razie czy ma znaczenie, ktorej skladni sie uzyje? Grzebalem ostatnio w dokumentacji bo przymierzam sie do wykorzystania ADOdb w pewnej aplikacji, ale na ten temat nic nie znalazlem. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
W takiej sytuacji wg. mnie lepiej jest stworzyć wyspecjalizowane klasy np. wg wzorca Active Record... i dla każdej bazy oddzielne, wykorzystujące wszelkie możliwości bazy. Przynajmniej ja tak robię i uważam to za lepszy sposób niż pisanie/korzystanie z abstrakcji na baze danych.
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 11.06.2005 Skąd: Gostyń Ostrzeżenie: (0%) ![]() ![]() |
W AdoDB jest coś takiego:
(Zaczerpnięte z dokumentacji). Myślę, że problem pustych wartości również został rozwiązany. -------------------- @nospor: trzymajcie się. Wszystko będzie dobrze!
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Polecam Creole. Jest to biblioteka pisana pod PHP5 (chociaż port do 4 też są). Jest mniejsza od Ado, przez co obsuguje mniejszą ilość baz. Nie mniej jest to cena, którą można ponieść.. czy ktoś korzysta z czegoś innego niż mysql, mssql, postgres, oracle? SQL Lite? A po co przy tym dodatkowa warstwa?
![]() To co przemawia do mnie najbardziej przy Creole to idea, wzorowanie na JDBC, a więc utrartym standardzie, który dominuje w Javie, jest ponieką domyślnym interfejsem do komunikowania się z bazami w javie. Jest to bardzo pożyteczne ponieważ nie ma problemów z tym, że do jakiejś bazy nie ma sterownika, dostarcza go zwykle sam producent oprogramowania. Twórcy php dopiero to zrozumieli i zaczęli tworzyć PDO -------------------- Łukasz Dywicki
Independent Java and open source software consultant. Blog - Java, OSGi, integracja oprogramowania.. |
|
|
![]()
Post
#14
|
|
![]() 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%) ![]() ![]() |
@marcini82
Cytat Sugerujesz SongoQ, ze ADOdb automatycznie przetlumaczy odpowiednie elementy SQL dla potrzeb konkretnej bazy? Byloby super, bo jest kilka roznic miedzy pgsql i mysql i nie wiem jak to pogodzic. Moze nie dokladnie 1 zapytanie i zrobi Ci translacje lecz dostarcza Ci specjalnych metod, przyklad ktory podalem wyzej z LIMIT. Jak wiadomo sa niektore rzeczy tak skaplikowaze ze sie nie da. To wtedy tak jak pisal @Vengeance przygotowujesz odobne klasy dla odpowiednich baz. Tyczy sie to z odpowiednim SQLem, mozna wykorzystac zaproponowany wzorzec Active Record lecz rowniez on ma swoje ograniczenia. Jesli masz bardzo zaawansowany projekt jesli chodzi o DB to i tak musisz wyjsc poza przytoczone mechanizmy i musisz "pisac SQLem". @Vengeance Cytat wg wzorca Active Record... i dla każdej bazy oddzielne, wykorzystujące wszelkie możliwości bazy. Przynajmniej ja tak robię i uważam to za lepszy sposób niż pisanie/korzystanie z abstrakcji na baze danych. Zalezy do czego, oczywiscie prosciej jest podana przez Ciebie metoda, sam tak stosuje ale dla pewnych projektow nie da sie. Bo zapytania sa tak zamieszane ze trudno do tego zrobic automat.@splatch Cytat Twórcy php dopiero to zrozumieli i zaczęli tworzyć PDO He he he nie tylko tworcy php. Rozniez ORACLE od jakiegos czasu supportuje PDO wedlug mnie to jest krok w przyszlosc (wspolne API). Piszesz oprogramowanie w 3 bazkach musisz znac 100 roznych funkcji do tych baz, a tak wystarczy ze poznasz 20 bardzo dobrze i mozesz pisac w kazdej (pomijajac rozbierznosci SQLa)
-------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zablokowani Postów: 46 Pomógł: 0 Dołączył: 12.01.2006 Ostrzeżenie: (10%) ![]() ![]() |
A wracając do tematu, to przeanalizowałem sobie obie abstrakcje i chyba jednak AdoDB ma nieco większą przewagę. Wprawdzie jest wolniejsze od Creole i brzydko napisane w PHP4, to posiada nieporównywalnie większą funkcjonalność! Keszowanie zapytań, stronicowanie danych, generowanie menu i tabel, funkcje AutoExecute(), gdzie mozna dane do INSERTa czy UPDATE przekazac poprzez tablice i w dowonej kolejnosci. Moze kiedys AdoDB zostanie przepisane na PHP5, a wtedy bedzie to bezsprzecznie numer 1!
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Też swego czasu pytałem o to samo w ty wątku. Poczytaj, może Ci coś pomoże.
Dodam tylko od siebie, że po początkowej przygodzie z AdoDB przesiadłem się jednak na PDO. Korzystałem z wzorca ActiveRecord w swoim projekcie i przesiadka z Ado do PDO odbyła się paktycznie bezboleśnie. Z własnego doświadczenia podpowiem Ci, abyś się dokładnie, bardzo dokładnie zastawnowił, czego tak naprawdę potrzebujesz. Pamietaj, że aby wbić mały gwózdek lepszy jest mały młoteczek a nie potężny kafar (taka metafora ![]() |
|
|
![]()
Post
#17
|
|
![]() 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%) ![]() ![]() |
Z PDO jest jeszcze taki problem ze wielu firmach jeszcze nie jest zainstalowane, wiec trafic na dobry hosting z PDO jest problem.
-------------------- |
|
|
![]()
Post
#18
|
|
Grupa: Zablokowani Postów: 46 Pomógł: 0 Dołączył: 12.01.2006 Ostrzeżenie: (10%) ![]() ![]() |
Cytat(SongoQ @ 2006-03-29 13:05:49) Z PDO jest jeszcze taki problem ze wielu firmach jeszcze nie jest zainstalowane, wiec trafic na dobry hosting z PDO jest problem. Chyba nie... Home.pl ma php 5.1.2 i co za tym idzie PDO. Hosting jest na prawde dobry, śmiem nawet twierdzić, że najlepszy w Polsce! Chodzi stabilnie i szybko. Nie ma problemów jak przy tanich, kiepskich hostach. A w tym tygodniu dodatkowo dodali obsługę mod_rewrite ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:08 |