C.....a
Doctrine i problem Lazy Loadingu (。◕‿‿◕。)

https://gildia-developerow.pl/doctrine-i-problem-lazy-loadingu/

Większość świeżych programistów, którzy pytają tych starszych o porady, słyszą: „Ucz się Symfony, Doctrine i pisz testy”. A młodzi przyjmują to za świętość i uczą się. Znają podstawowe pojęcia, po czym wchodzą na projekt, napiszą endpoint dla dużego zestawu danych i… całość wykonuje się w 13 sekund. Ta historia, choć nieco przeze mnie ufarbowana, wydarzyła się całkiem niedawno. I z chęcią podzielę się z Wami kilkoma szczegółami oraz wnioskami z tej sprawy ʕ•ᴥ•ʔ

Tagi: #programowanie, #naukaprogramowania i #programista15k w #php, #symfony i #doctrine. Trochę #performance
1
  • Najlepsze
  • Wszystkie komentarze
WyjmijKija
WyjmijKija
Treść przeznaczona dla osób powyżej 18 roku życia...
2
Krolik
Krolik
@CppPolska: Dlatego nie używa się ORMów tylko pisze zapytania z palca w SQLu.
1
WyjmijKija
WyjmijKija
@CppPolska: lazy loading to zło stworzone lata temu, żeby pokazać, że można i jakie to fajne. W rzeczywistości daje tylko problemy.
1
Krolik
Krolik
@CppPolska: Nie, po prostu napiszę zapytanie z palca, które wybierze tylko te dane, których potrzebuję i załaduje je do struktur, które zawierają tylko te pola, które potrzebuję.
1
eovenn
eovenn
@Krolik: a potem będziesz miał system z setkami takich obiektów w których wyciągasz sqlem dane i im bardziej złożone zapytanie tym większa przyjemność szukania błędu w razie czego jak coś się wywali. To też nie jest idealne rozwiązanie.
1
C.....a
Moim zdaniem korzystanie z ORMów nie jest takie złe @Krolik, pod warunkiem, że zna się ich mechanizmy. Korzystanie na ślepo jest niedobre.

@WyjmijKija wyobraź sobie, że masz agregat encji, który ma 5 poziomów zagnieżdżeń. A chcesz wylistować gdzieś wyłącznie nazwy encji z pierwszego poziomu. Jeżeli masz agregat z dużą ilością danych, to bez lazy loadingu będziesz musiał ładować i hydrować wszystkie te dane, które na ten moment są Ci
0
nad__czlowiek
@CppPolska: chłopie #php w 2024 ten podjęzyk jest gorszy od JavaScriptu
0
Krolik
Krolik
@eovenn: czekaj, czy Ty serio twierdzisz że trudniej znaleźć błąd w zapytaniu SQL podanym jawnie tekstem w kodzie niż zgadnąć dlaczego magiczny ORM wygenerował w runtime debilne zapytanie i zmusić go do tego aby wygenerował dobre?
0