Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
Post
#1
|
|
|
Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%)
|
Na początek po reorganizacji forum chcielibyśmy zaproponować wam temat dotyczący mapowania tabel z baz danych na obiekty w PHP.
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%)
|
Nie ukrywam, temat dość ciekawy.
Nie wiem jednak czy dobrze to zrozumiałem, a nie chce tkwić w błędzie dlatego napisałem:
Jest to oczywiście bardzo prosty przykład, posiadający jedynie możliwośc pobierania wyników. Moje pytanie brzmi: Czy ide w dobrym kierunku czy kompletnie nie zrozumiałem ORM? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
Moje pytanie brzmi: Czy idę w dobrym kierunku czy kompletnie nie zrozumiałem ORM? Idziesz w prawie dobrym kierunku. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ideą stosowania mapowań jest wykluczenie klepania SQLa na każdą potrzebę, a w tym momencie, mimo tego, że wynik masz reprezentowany w postaci obiektu, a nie różni się to od:
Owszem, umiejętność interpretacji każdego zapytania to cenna funkcjonalność, ale nie zapominaj o tym, że zależy Ci na obiektach jako takich a nie płaskich strukturach pokroju tablicy, a taki efekt uzyskujesz korzystając z __get (zwracasz po prostu kolumnę z wyniku nie zwracając uwagi na to z jakiego obiektu to jest property). Zwróć uwagę, że tu nie ma obiektu. Nie możesz odczytanych wartości zmodyfikować i zapisać. Obiekt Query może się przydać przy mapowaniu zapytań, ale raczej nie przy ich interpretowaniu. Kilka przykładów użycia "klasycznego" ORM:
Pamiętaj, że różnice implementacji przy różnych ORMach są czasami olbrzymie, zawsze możesz znaleźć swoją własną implementację bazując na dostępnych wzorcach. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%)
|
Pamiętaj, że różnice implementacji przy różnych ORMach są czasami olbrzymie, zawsze możesz znaleźć swoją własną implementację bazując na dostępnych wzorcach. Wystarczy zajrzeć pod wspomniany adres.. Data Source Architectural Patterns Table Data Gateway, Row Data Gateway, Active Record, Data Mapper. Object-Relational Structural Patterns Identity Field, Foreign Key Mapping, Association Table Mapping, Dependent Mapping, Embedded Value, Serialized LOB, Single Table Inheritance, Class Table Inheritance, Concrete Table Inheritance, Inheritance Mappers. Object-Relational Metadata Mapping Patterns Metadata Mapping, Query Object, Repository. |
|
|
|
seaquest ActiveRecord, ORM 19.03.2007, 12:58:19
Sh4dow czy czegos podobnego nie robi propel ? Bardzo ciek... 19.03.2007, 13:36:04
athabus Moje doświadczenia z klasami tego typu są dość mał... 19.03.2007, 14:02:56 
mike_mech Cytat(athabus @ 19.03.2007, 14:02:56 ... 19.03.2007, 14:15:21 
Yacho Cytat(athabus @ 19.03.2007, 15:02:56 ... 14.05.2007, 18:00:11
Sh4dow Nie znam framework'a zend'a ale propel dzi... 19.03.2007, 14:12:36
athabus Propela jeszcze nie próbowałem, ale z przykładów, ... 19.03.2007, 14:30:13
splatch Cytat(Sh4dow @ 19.03.2007, 13:36:04 )... 19.03.2007, 23:18:38
ActivePlayer A ja sobie napisałem swoją klasę (swego czasu opis... 20.03.2007, 00:09:17
nospor Ja mam podobnie (tak mi sie wydaje) jak ActivePlay... 20.03.2007, 08:13:36
Sh4dow No to robisz prawie tak samo jak propel, Tylko ze ... 21.03.2007, 10:18:24
nospor CytatJedyne co mnie martwi to wydajność której chy... 25.03.2007, 20:14:56
splatch Pragnę nadmienić, że w przypadku Propela nie trzeb... 27.03.2007, 21:59:00
Sedziwoj Może się wyda dziwne pytanie, ale czy obiekt nie m... 28.03.2007, 00:25:53 
splatch Cytat(Sedziwoj @ 28.03.2007, 01:25:53... 31.03.2007, 11:03:35
Hacker Eeeee...
@Sedziwoj czy mi się zdaje czy mówisz o l... 29.03.2007, 18:43:47
Sedziwoj Ja piszę to co myślę, tak kochane 'wzorce proj... 29.03.2007, 23:11:06
pawel_k @splatch - nie do konca dobry przyklad
pobierajac ... 26.04.2007, 14:16:59
cicik Mnie przed ORMami odstrasza jedna rzecz.
Jeżeli ma... 27.04.2007, 09:15:45 
g00fy Cytat(cicik @ 27.04.2007, 08:15:45 ) ... 21.07.2007, 23:55:44
athabus Nie wiem jak to jest w innych ORM'ach ale właś... 27.04.2007, 10:09:51
dr_bonzo Nie, chocby w Railsach masz :include => 'gr... 27.04.2007, 10:10:38
athabus Yacho nie dość, że cytujesz moją wypowiedź sprzed ... 14.05.2007, 21:27:35
Sokal Myślę sobie teraz o ORM...
Według ... 23.05.2007, 17:57:58
menic Jestes w błedzie Misiu (a moze pingwinku;) )
Złozo... 23.05.2007, 18:05:32
Sokal A co powiesz na to, że piszesz jaką... 23.05.2007, 18:11:20
bela Cytat// I jeszcze jeden argument:
Przez ORM kod ap... 23.05.2007, 19:22:15
menic No to zaczynamy:
Sam AR moze i jest trudniejszy i ... 23.05.2007, 19:31:18
Sokal Dla mnie to zawsze będzie niewygnodne, co z tego, ... 23.05.2007, 20:04:59 
splatch Cytat(Sokal @ 23.05.2007, 21:04:59 ) ... 24.05.2007, 12:04:35
menic Co z tego? Np. to ze nie musisz pamietac nazw wszy... 23.05.2007, 20:07:08
webik Witam
Ot dorzuce swoje 3 grosze.... Osobiście uży... 24.05.2007, 00:19:43
mike ~Sokal a dlaczego uważasz że ORM jest dl... 24.05.2007, 11:52:32
athabus splatch ty jakiś agresywny ostatnio jesteś
Sok... 26.05.2007, 18:27:32
nasty Witam,
Chciałbym się odnieść do wypowiedzi paru os... 2.06.2007, 13:28:42
Sokal Chyba mnie przekonaliście do ORM-a
Propel je... 12.06.2007, 17:33:19
Martio Jakie znacie lub macie u siebie zaimplementowane s... 6.07.2007, 01:05:47
SongoQ Takie cos jest w ORMach zaimplementowane. Patrz np... 6.07.2007, 01:15:01
NuLL lub w phpDoctrine 6.07.2007, 01:17:38
XvZOK A jak Propel radzi sobie z dziedziczeniem w klasac... 30.07.2007, 15:53:15 
Sedziwoj Cytat(XvZOK @ 30.07.2007, 16:53:15 ) ... 31.07.2007, 18:56:32 
splatch Cytat(XvZOK @ 30.07.2007, 16:53:15 ) ... 31.07.2007, 20:14:53
XvZOK Ponownie wróciłem do tematu.
Widzę, że tutaj nie z... 27.11.2007, 00:15:41
athabus Myślę, że o widoku nikt nie wspomniał, bo temat ni... 27.11.2007, 10:59:33
splatch Kwestia ORM i widoku nie wiąże się ... 27.11.2007, 11:55:44
Martio Używam Zend Frameworka. Chciałbym oddzielić warstw... 26.02.2008, 00:54:43 
Martio Cytat(Martio @ 26.02.2008, 02:54:43 )... 28.02.2008, 18:36:04
regis87 Testowałem różne dostępne rozwiązania ORM, najlepi... 26.02.2008, 20:05:52
Sedziwoj @regis87
I moim zdanie się mylisz, jak jest duży ... 27.02.2008, 10:37:16
Cysiaczek W 100% popieram. Za całą obiektową otoczką takiego... 27.02.2008, 10:52:09
splatch Może w kwestii dużych projektów. Panowie nie zapom... 27.02.2008, 12:09:19
regis87 Może źle to ująłem. Mówiąc o dużych projektach nie... 27.02.2008, 17:22:42
Cysiaczek W przypadku Propela masz kilka plików + te, które ... 27.02.2008, 17:27:41
regis87 Nie potrafię tego oszacować. Ale kiedy wydajność s... 27.02.2008, 17:55:22
Cysiaczek Jeśli dysponujesz dedykowanym serwerem, to moim zd... 28.02.2008, 00:47:10
menic @up: TAK 28.02.2008, 18:40:32
regis87 Skończyłem testy, pork.dbObject. Jest im... 2.03.2008, 22:49:39
Strzałek To może ja coś skrobnę od siebie, o moich doświadc... 14.03.2008, 23:52:02
Sedziwoj Cytat$users[0] -> Phonenumber -> number... 15.03.2008, 08:49:26
Strzałek CytatCzyli mam rozumieć, że on korzysta z stdClass... 15.03.2008, 11:33:06
athabus Doctrine nie używałem więc trudno mi porównać pros... 15.03.2008, 12:31:26
Cysiaczek Nie używałem Doctrine, ale Propela owszem i rzeczy... 15.03.2008, 13:16:35
athabus No niestety sama wydajnośc propel to nie do końca ... 15.03.2008, 13:28:09
destroyerr Więc Doctrine ma możliwość definiowania schematu w... 15.03.2008, 13:37:16
splatch Jeśli idzie o szybkość Propela w wersjach <= 1.... 15.03.2008, 14:25:39
Sedziwoj Do tego skomplikowane zapytania można oprzeć na wi... 15.03.2008, 17:42:22
Strzałek CytatWadą, którą widzę w Doctrine j... 15.03.2008, 18:28:52
Sedziwoj @Strzałek tylko powiedz w czym to jest lepsze od P... 15.03.2008, 19:49:46
Cysiaczek Uh, jak mówiłem - nie używałem Doctrine. Jak jest ... 15.03.2008, 20:26:32 
Sedziwoj Cytat(Cysiaczek @ 15.03.2008, 20:26:3... 15.03.2008, 21:21:59
Cysiaczek Oj tam
Mi podpowiadanie składni w eclipse działa... 15.03.2008, 22:22:26
Sedziwoj Cytat(Cysiaczek @ 15.03.2008, 22:22:2... 16.03.2008, 00:33:42 ![]() ![]() |
|
Aktualny czas: 4.12.2025 - 17:15 |