![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 5 Dołączył: 10.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Tak się zastanawiam jak załatwiacie sytuacje, gdy SELECT pobiera wam z bazy np. 50 pól i chcecie je umieścić jako wartości pól jakiegoś obiektu. Np. mamy obiekt User, który ma 50 pól typu id, email, name, surname ... Wszystkie dane Usera pobieramy z bazy. Do tej pory pisałem ręcznie: $u = new User(); $u->setID($row['id']); ... Dla 10 pól OK, ale gdy pól jest więcej, to trochę nieciekawie. Macie jakieś sposoby na szybkie uzupełnianie? PS: w trakcie pisania tego posta zdążyłbym ręcznie uzupełnić około 20 pól (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tylko i wyłącznie ORM. O więcej zapytaj wujka G...
Pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 5 Dołączył: 10.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Np. Propel?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czemu tylko i wyłącznie ORM?
Wystarczy tylko dodać metody magiczne i po sprawie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Czemu tylko i wyłącznie ORM? Wystarczy tylko dodać metody magiczne i po sprawie. No można, ale jak zapewne wiesz wiele osób uważa ją za zło (IMG:style_emoticons/default/wink.gif) Stąd pewnie o niej nie pomyślałem... |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A ORM to niby z czego korzysta? ORM też korzysta z magii
Powód edycji: [nospor]:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
IMHO klasa dziedzicząca po ArrayObject + magiczne __set i __get i tyle (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
@nospor wszystkie ORM'y korzystają z metod magicznych?
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie mam bladego pojęcia. Nie używam żadnego.
Aczkolwiek jak widziałem kiedyś w ORM kod: ->getPoleX() to nie inaczej jak tylko przez magie mogli ro zrobić. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
No widzisz, nie używasz, nie masz bladego pojęcia a piszesz z pełną stanowczością. Propel generuje metody, a w Doctrine2 trzeba je napisać samemu - czyli da się bez magii.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Kurde, nie miałem przyjemności z Propelem, a z Doctrinem tylko < 2, więc też nie wiem, ale znając lubość twórców bibliotek/ORMów/Frameworków PHP do używania metod magicznych przypuszczam, że i tak jest ich pełno tam pełno:) Z tego co wiem to encje w doctrine 2 rzeczywiście ich nie posiadają, ale to nie oznacza, że sam ORM ich nie zawiera.
Nie mam bladego pojęcia. Nie używam żadnego. Ja mimo nieustannego bluzgania na doctrine jednak nie wyobrażam sobie pracy bez czegoś w tym stylu. Chylę czoła:) Ten post edytował bastard13 8.09.2011, 22:40:25 |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dobrze, przepraszam (IMG:style_emoticons/default/smile.gif)
Zmylił mnie kawałek kodu, który kiedyś widziałem. Gdybym miał chwilkę czasu to bym popatrzył na te ORM i się z Tobą pokłócił - no ale czasu na takie zabawy brak. (IMG:style_emoticons/default/wink.gif) Cytat Ja mimo nieustannego bluzgania na doctrine jednak nie wyobrażam sobie pracy bez czegoś w tym stylu. Chylę czoła:) Ja zaś sobie nie wyobrażam jak można z tym pracować. Kiedyś się przymierzałem ale dałem sobie spokój - nie przemawia to do mnie w żaden sposób.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Cytat przypuszczam, że i tak jest ich pełno tam pełno:) Aha, myślałem, że mówimy o encjach. Jednak jeśli chodzi o cały kod, to na pewno się tam znajdą choćby tylko dla dynamicznych finderów (przykład z dokumentacji):
Cytat Dobrze, przepraszam Zmylił mnie kawałek kodu, który kiedyś widziałem. Gdybym miał chwilkę czasu to bym popatrzył na te ORM i się z Tobą pokłócił - no ale czasu na takie zabawy brak. Nie ma co przepraszać. Szkoda jednak, że brak Ci czasu, nie musiałbyś gdybać. |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@destroyerr coś tu nie gra. "Krzyczysz" na mnie, że gdybam co do metod magicznych, podczas gdy ich nie ma, a zaraz potem sam podajesz przykład kodu gdzie te metody jednak są. O co kaman?
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ja zaś sobie nie wyobrażam jak można z tym pracować. Zgadzam się w 100%. Ja osobiście preferuje jakieś logiczne QueryBuildery typu Zend'a, bo np Kohany to się do niczego nie nadaje ;P |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
@nospor, jeszcze raz. Byłem przekonany, że rozmawiamy o problemie przedstawionym w pierwszym poście. Ty napisałeś, że ORM'y wykorzystują do tego celu metody magiczne, a tak nie jest. Nie miałem pojęcia (bo i skąd miałem je mieć), że masz na myśli cały ORM skoro temat jest o hydracji.
@melkorm Propel i Doctrine też mają QueryBuildery (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat . Nie miałem pojęcia (bo i skąd miałem je mieć), że masz na myśli cały ORM skoro temat jest o hydracji. Wspomniałem o ORM i metodach magicznych bo askone stwierdził że należy tylko używać ORM bo metody magiczne są ble.Powiedziałem więc, że ORM też stosują metody magiczne, więc czemu nagle metody magiczne w ORM nie są ble a bez ORM są ble. To tak jakby bardzo nie polecać silnika X, ale zachwalać już samochód z tym właśnie silnikiem. Na co ty na mnie zacząłeś krzyczeć jak się okazuje bez powodu, ja teraz muszę przez ciebie do psychiatry chodzić bo mam nocne koszmary, rano budzę się cały rozstrzęsiony i tak przez cały dzień....wyślę ci rachunek za psychiatrę(IMG:style_emoticons/default/exclamation.gif) (IMG:style_emoticons/default/tongue.gif) (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:36 |