Doctrine 2 ORM - opinie.

Odpowiedz Nowy wątek
2017-11-24 19:11
0

Cześć.
Jak radzicie podejść do sprawy z działaniami na bazie danych MySQL korzystając z PHP? Czy pisać wszystko w czystym php z wykorzystaniem PDO? Czy jednak warto zainteresować się czymś takim jak Doctrine 2 ORM do sprawniejszego działania na bazie danych. Jednak czy przy mniejszych projektach ma to sens? Opłaca się za to brać?

Pozostało 580 znaków

2017-11-24 20:54
0

To zależy od skali projektu, w małych może być armata na muchę. W dużych może być wąskim gardlem, gdzie będzie tworzyło duży narzut, a zwykle zapytania będą latały szybciej

Pozostało 580 znaków

2017-11-26 21:23
0

Jeżeli są to projekty "treningowe" to imo warto. Poznasz wady i zalety, dowiesz się, w którym przypadku lepiej napisać tradycyjne zapytanie. Będziesz potrafił wykorzystać orma w większym projekcie.


"Jedna robótka - miesiąc wódka" - Ojciec Pijo

Pozostało 580 znaków

2017-11-27 22:31
0

Moje zdanie jest takie. Jeżeli istnieje choć cień szansy, prawdopodobieństwo czy inne przesłanki ku temu, że aplikacja będzie potrzebowała zmiany rodzaju bazy danych przed końcem cyklu jej życia to rozsądnym jest użyć jakiegoś ORMa. Jeżeli takich przesłanek nie ma, dla projektu lepsze będzie używanie plain sql. Oczywiście to jest ogólny pogląd.

Pragnę jednak uczulić przed takimi poradami jak moja, te kilka wyżej i ewentualne kolejne. Podejście "używać ORMa czy nie używać" jest często dogmatyczne. Są ludzie którzy uważają ORMy za zło i będą odradzać w każdej sytuacja a są też ich gorący zwollenicy z klapkami na oczach.

Pozostało 580 znaków

2017-11-27 23:13
0

Ja sobie nie wyobrażam pisania własnej warstwy bazodanowej tylko dlatego żeby nie używać ORM-a... każdy największy system korzysta ze swego rodzaju ORMA i działają szybko.. przykład magetno. Cześto wąskim gardłem nie jest baza danych a sam makaron w kodzie lub nieumiejętne wykorzystanie właśnie ORMA po przez np ładowanie 1000x całego modelu tylko po to by pobrać jeden atrybut.

Źle użyte w aplikacji, wąskim gardłem może być wszystko. Natomiast relacyjna baza danych jest zawsze wąskim gardłem. Z tego właśnie powodu wymyślono cache, load balancing, nosql czy silniki wyszukiwań takie jak Solr czy Elastic. ORM to dodatkowo warstwa abstrakcji pomiędzy bazą a logiką a co za tym idzie dodatkowy narzut. Natomiast faktem jest, że w przypadku gdy np. nie ma w zespole bazodanowca to dobrze jakiegoś ORMa wrzucić. - SekretarzGeneralnyONZ 2017-11-28 09:18
@SekretarzGeneralnyONZ: nie miałem jeszcze przyjemności mieć w pracy typowego bazodanowca - jak wygląda jego praca? Pisze kod np w javie? Czy np taki javowiec dostaje taska "Weź mi zrób statystki do X" a ów jawowiec potem musi kontaktować się z bazodanowcem?. Bo troszkę nie widzę tego jak by miała wyglądać praca takiego człowieka. Tym bardziej że niektóre konstrukcje w bazie odbijają się czkawką w kodzie i vice versa. - axelbest 2017-11-28 10:16
Taka osoba jest na początku odpowiedzialna za budowę bazy na podstawie wymagań. Wszelakie procedury, trigery, operacje wykonywane tylko na bazie, raporty, wszelka administracja, uprawnienia, konta, load balancing - należą do niej. Dodatkowo na bieżąco monitorują co lata po bazie i optymalizuje zapytania. Np. jak używasz ActiveDirectory to pyta po co tyle gówna zrzuca się na bazę :) Miałem okazję obserwować sytuację gdzie słowo bazodanowca było ważniejsze od programisty Javy. - SekretarzGeneralnyONZ 2017-11-28 10:30

Pozostało 580 znaków

2017-11-28 09:27
0

Moim zdaniem:

Premature optimization is the root of all evil.

Ja lubie używac ORM do zapisywania relacji i innych takich tam pierdół, ale jak mam wyświetlić jakaś listę czy zrobić raport, to używam innego narzędzia. Opracowali je gdzieś w latach 60 i nazywa się SQL..

Tak na dobra sprawę, to jak masz niewielki projekt to prawie wszędzie możesz używać orm. Jak masz paginacje to na stronie wyjdzie Ci pewnie maks 100 zapytań. To chyba nie tragedia jak z czegoś korzysta 10 użytkowników. Zawsze możesz dodać jakiś licznik zapytań, który jak wykryje ze poszło więcej niż 100, to Ci to gdzie zaloguje

edytowany 1x, ostatnio: Desu, 2017-11-30 17:05

Pozostało 580 znaków

2017-11-28 09:48
0

Moim zdaniem nie chodzi o to żeby używać tylko ORM'a w projekcie albo w ogóle go nie używać. Pomiędzy zerem i jedynką w tym wypadku jest mnóstwo wartości pośrednich. ORM'y są fajne, wygodne i dla mnie osobiście mają w sobie to coś, tak jak wskaźniki w C, co sprawia, że używanie ich daje satysfakcję. Przynajmniej jeśli o mnie chodzi.

Jednakowoż ORM nie ogarnie wszystkiego vide skomplikowane raporty czy analizy ale to zostało powiedziane już wielokroć.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0