Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ORM czy jest sens
daniel1302
post 16.12.2014, 19:26:12
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post 21.12.2014, 10:57:33
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


  1. SELECT X,count(*) c FROM tab1 WHERE id IN (SELECT id2 FROM tab2 WHERE tab2.kol=tab1.kol)
  2. GROUP BY X
  3. HAVING c>3


kontra

  1. DB::table('tab1')
  2. ->select(DB::raw('X, count(*) as c'))
  3. ->whereIn('id', function($query){
  4. $query->select('id2')->from('tab2')->whereRaw->('tab2.kol=tab1.kol');
  5. })
  6. ->groupBy('X')
  7. ->having('c', '>', 3)
  8. ->get();


Rzecz gustu.

Cytat('by_ikar')
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.

Stara szkoła mówi, aby jedna rzecz służyła jednemu celowi.

Cytat
Pamiętaj, że w oprogramowaniu jedyną stałą są "zmiany". Jeśli napiszesz aplikację pod MySQL (to tylko przykład) i będziesz używał MySQL-owego języka zapytań, wtedy po latach ciężko będzie Ci przeskoczyć na inną bazę danych w danej aplikacji - z tego powodu, że w stary kod będzie całkowicie powiązany z daną bazą danych, a jego przepisanie na nowy silnik będzie całkowicie nieopłacalne.

Mógłbyś napisać konkretny przykład tego jak przy pomocy ORM przeskakujesz z MySQL na inną, bez najmniejszego problemu? Lub jak to wygląda przy podzapytaniach skorelowanych? I co w przypadku jeśli zmieni mi się nazwa tabeli?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

Posty w temacie
- daniel1302   ORM czy jest sens   16.12.2014, 19:26:12
- - Pyton_000   DB? Użyje Eloquent bo jest bardzo wygodny i bardzo...   16.12.2014, 19:51:23
- - sazian   ja osobiście wolę czyste zapytania do db, ale to p...   16.12.2014, 20:26:23
- - daniel1302   Też bardzo lubię pisać zapytania i dodatkowo funkc...   16.12.2014, 20:38:52
- - ctom   Cytat(sazian @ 16.12.2014, 20:26:23 )...   16.12.2014, 21:52:32
- - sazian   no super że będę mógł podejrzeć zapytania, ale co ...   16.12.2014, 22:16:47
- - by_ikar   Ta eloquent też mi przypadł do gustu swoją prostot...   16.12.2014, 22:20:31
- - ctom   @sazian no właśnie chodziło mi, że możesz je pode...   16.12.2014, 22:33:11
|- - by_ikar   Cytat(ctom @ 16.12.2014, 22:33:11 ) p...   17.12.2014, 10:05:40
- - Pyton_000   by_ikar też się zastanawiałem o co może chodzić ...   17.12.2014, 11:54:57
- - sazian   [SQL] pobierz, plaintext SELECT X,count(*...   17.12.2014, 18:24:30
|- - aniolekx   Cytat(sazian @ 17.12.2014, 19:24:30 )...   17.12.2014, 19:22:16
|- - by_ikar   Cytat(sazian @ 17.12.2014, 18:24:30 )...   17.12.2014, 20:32:13
- - Pyton_000   [PHP] pobierz, plaintext Tabela1::with('id', T...   17.12.2014, 19:57:24
- - Daimos   Cytat(by_ikar @ 17.12.2014, 20:32:13 ...   20.12.2014, 13:26:32
- - Dejmien_85   Cytat(daniel1302 @ 16.12.2014, 19:26...   20.12.2014, 21:58:52
|- - irmidjusz   Często przytaczany jest taki argument, że ORM daje...   21.12.2014, 12:59:04
|- - Dejmien_85   Cytat(irmidjusz @ 21.12.2014, 12:59:0...   21.12.2014, 18:18:12
- - !*!   [SQL] pobierz, plaintext SELECT X,count(*...   21.12.2014, 10:57:33
- - m44   CytatEncje jako modele - to jest nieporozumienie. ...   21.12.2014, 14:25:03


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:57