![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 23.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Problem lezy w tym ze nie za bardzo zaznajomilem sie z mnogimi systemami orm a chcial bym ktorys uzywac. pytanie jest proste. Czy znacie jakis ORM ktory wspolpracowal by z PDO i obslugiwal takie rzeczy: 1) relacje wiele do wielu etc.. 2) Obiekt nie musi byc wynikiem tylko jednej tabeli. -
oczywiscie rozumiem ze takie cos moze nie istniec , poprostu potrzebowal bym czegos co zalatwi moj problem jak najprosciej i efektywniej. dalo by sie to wszystko zrobic w zend_db i propelu ale 1 jest nieprzystosowane do tego typu (przynajmniej nie znalazlem nic o relacjach w manualu) a propel ... heh.. wolal bym pdo ... (nie pytajcie dlaczego). fajnie by bylo gdyby konfigurowalo sie to przy deklaracji klas a nie w xmlu:P oczywiscie php5;] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Objrzyj http://www.phpdoctrine.com/ -- uzywalem tego dosc dawno, a projekt sie rozwinal od tego czasu i nie jestem na bierzaco.
Na pewno ma konfiguracje w php (kodzie klasy) nie xml'u, relacje, identity map, lazy loading (konfigurowalny). No i PDO uzywa. Nie wiem jak jest z budowa obiektu z wielu tabel. |
|
|
![]()
Post
#3
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Specjalnie nie zapoznawałem się z tymi skryptami, ale co nieco mogę się wypowiedzieć. Musiałem zdobyć trochę doświadczenia, ponieważ niedawno napisałem swój ORM. Niestety jest on silnie zintegrowany z framework'iem.
Zend_db To raczej abstrakcyjna warstwa dostępu do bazy danych, niż ORM. Mógłby on posłużyć jako szkielet do budowy jakiegoś ORM. Plusem Zend_db jest możliwość wykorzystania PDO. Manual: http://framework.zend.com/manual/en/zend.db.html EzPdo To już zdecydowanie ORM. Istnieje możliwość zintegrowania z Prado, stosunkowo łatwo. Posiada lepiej zaprojektowane relacje wiele do wielu w stosunku do Propel'a. Nie korzysta z PDO (nie jestem tego powiem), ale na pewno wykorzystuje adodb bądź też pear:db, jak kto woli. Manual: http://www.ezpdo.net/blog/2005/03/03/manual/ Propel Chyba jeden z najbardziej zaawansowanych system ORM dla php. Wykorzystuje abstrakcyjna warstwę bazy danych Creole (napisana w PHP5). Dopiero od wersji 2.0 ma nastąpić zmiana dbLayer'a na PDO. Chyba najbardziej popularny ORM. Manual: http://propel.phpdb.org/docs/user_guide/index.html Wszystkim możesz się przyjrzeć oglądając linki do manual'a i w końcu dokonać jakiegoś wyboru. Na koniec dodam jeszcze linka do listy systemów ORM dla php: http://en.wikipedia.org/wiki/List_of_objec...ng_software#php |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 23.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Specjalnie nie zapoznawałem się z tymi skryptami, ale co nieco mogę się wypowiedzieć. Musiałem zdobyć trochę doświadczenia, ponieważ niedawno napisałem swój ORM. Niestety jest on silnie zintegrowany z framework'iem. Zend_db To raczej abstrakcyjna warstwa dostępu do bazy danych, niż ORM. Mógłby on posłużyć jako szkielet do budowy jakiegoś ORM. Plusem Zend_db jest możliwość wykorzystania PDO. Manual: http://framework.zend.com/manual/en/zend.db.html EzPdo To już zdecydowanie ORM. Istnieje możliwość zintegrowania z Prado, stosunkowo łatwo. Posiada lepiej zaprojektowane relacje wiele do wielu w stosunku do Propel'a. Nie korzysta z PDO (nie jestem tego powiem), ale na pewno wykorzystuje adodb bądź też pear:db, jak kto woli. Manual: http://www.ezpdo.net/blog/2005/03/03/manual/ Propel Chyba jeden z najbardziej zaawansowanych system ORM dla php. Wykorzystuje abstrakcyjna warstwę bazy danych Creole (napisana w PHP5). Dopiero od wersji 2.0 ma nastąpić zmiana dbLayer'a na PDO. Chyba najbardziej popularny ORM. Manual: http://propel.phpdb.org/docs/user_guide/index.html Wszystkim możesz się przyjrzeć oglądając linki do manual'a i w końcu dokonać jakiegoś wyboru. Na koniec dodam jeszcze linka do listy systemów ORM dla php: http://en.wikipedia.org/wiki/List_of_objec...ng_software#php akurat te rozwiazania znam ,tylko poszukuje czegos innego - lepszego. spodobalo mi sie to http://www.phpdoctrine.com/ , ale ma jedna wade. $obiekt->kolumna ... to nie jest zbyt poprawne gdy chcemy zapisac dane typu user(id,nazwa,haslo) do kolumn a,b,c ... ciekawi mnie rozwiazanie uzycia zend_db do stworzenia orm, jak to widzicie? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Cytat to nie jest zbyt poprawne Czemu? NHibernate tak ma, calkiem mu dobrze jest z tym a w php jest __set i __get |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
I chyba wystarczy napisac sobie mape:id <-> a, nazwa <-> b itd i w __get()/__set() sprawdzac co zostalo wywolane i przekierowac do tej drugiej nazwy
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 23.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
sorry ze odswierzam ale mam pytanie dotyczace phpDoctrine ,
nie moge znalezdz sposobu zeby otrzymac id mojego obeiktu , moze inaczej :
jak moge otrzymac id nowego usera. normalnie zrobil bym to przez lastInsertId a tu ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 19:54 |