![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam, zacząłem ostatnio inaczej patrzeć na temat ORM. jednak co artykuł w sieci to co innego pisze, jedni polecają inni odradzają. Zacząłem uczyć się frameworków i mam już szkic aplikacji którą jest blog. Ma to być aplikacja szkoleniowa i zastanawiam sie czy warto w niej skusić się na ORM. Czy jest wogóle marnować na niego sens? Używam Laravel i dodam, że obecnie mam kilka modeli napisanych z pomocą biblioteki DB z laravela.
Co wy możecie powiedzieć na temat ORM'a? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
i jak to na orma przerobić ?
Tyle że nie jest to ORM, a jest to query builder (fluent), w przypadku laravela. Jak już wspomniałem, tam nie ma zahardkodowanych zapytań, to jest tylko warstwa abstrakcyjna która ci to zapytanie skleja. A ostatecznie można wykonać raw sqla. Tutaj trochę więcej info: http://laravel.com/docs/4.2/queries nie mniej, do takich standardowych zapytań eloquent'em można modele wygenerować dość szybko i sprawnie. I tutaj właśnie o to chodzi. EDIT: inaczej, bo tutaj w tym przypadku możecie nadal nie widzieć sensu, więc to inaczej wytłumaczę. Bo wy myślicie tak: skoro i tutaj działa, i tutaj, to po co bawić się w php, kiedy raw sql będzie szybszy. Owszem, będzie to trochę szybciej działało. Ale teraz kwestia tego jak podepniesz pod to cache? Musisz pewnie robić z palca coś pisać etc. W przypadku niektórych ORM'ów to jest kwestia uproszczona do minimum. Np powyższe zapytanie + cache:
I już mam cache. A co powiecie na paginacje? No problem:
I już mam paginacje. A możliwości rozbudowy o mutatory czy akcesory o których wspomniał @Python_000, czyli jakieś dodatkowe modyfikowanie danych w locie to jest kwestia stworzenia metody, tutaj kilka przykładów: http://laravel.com/docs/4.2/eloquent#accessors-and-mutators O ile zgodzę się że pisanie z palca całego forma w php jest dość często przerostem formy nad treścią, o tyle zapytania do bazy nie są jakoś szczególnie dodatkowo utrudnione, wręcz przeciwnie, ułatwienia są na każdym kroku (paginacja, cache etc). A możliwość wygenerowania prostych modeli poprzez konsole to już w ogóle spory plus. Nie wspominając o filtrowaniu przed sqlinjection (wszystko bindowane w pdo). Ten post edytował by_ikar 17.12.2014, 21:17:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 22:52 |