Wpis z mikrobloga

@deartify: SF
- zapytania w kontrolerach
- wywoływanie kontrolerów w komendach :D
- nie używanie stałych dla statusów encji (np w widokach twig)
- sporo można najanuszować w Doctrinie (sprawdzić poprawność mapowania), wiele wpisów na blogach jest o wydajności doctrin i jak łatwo można to zjanuszować
- złe rozłożenie zależności w bundlach i serwisach
@AVAW: Najgorsze co widziałem to w kontrolerze metoxę x() która walidowała, słała zapytania do bazy, budowała jakieś zależności. Ba, nawet HTML-e ktoś tam budował. Generalnie to około 450 linijek kodu w jednej metodzie o tak gigantycznej złożoności obliczeniowej, że aż trudno to pojąć. Więc wierzę Ci, że tak ktoś robił. :D
@deartify w takim laravel czy Symfony - korzystanie z eager loading, auto wiringu, pobieranie pełnych encji z bazy czy nawet często gęsto w widokach pętla po related encjach powodująca dodatkowe zapytania bo brak joina
auto wiringu


@Jurigag: Dlaczego korzystanie z tego uważasz za złą praktykę? Jak przeglądam sobie zmiany w symfony to coraz bardziej rozbudowują tą funkcjonalność żeby jeszcze łatwiej budowało się serwisy.
@stash: ale cache nie ma nic tutaj do rzeczy, chodzi mi o to że jeśli masz jakąś metodę w jakiejś klasie i chcesz aby automatycznie do takiej metody były dowiązane zależności musi być tu wykorzystana reflection - i tyle w temacie, i jest to wada i tyle, jak się da - nie powinno się korzystać i tyle, na poziomie developingu - spoko, ale na produkcji powinny być po prostu skonfigurowane pliki
@stash: to że w praktyce jest overhead - wystarczy sobie porównać wyniki wydajnościowe z kontrolerem jako serwis i napisanymi plikami konfiguracyjnymi i bez, zresztą wystarczy sprawdzić jakikolwiek inne DI, ten z symfony jest dosyć wolny
@Jurigag: Co to ma do rzeczy z autowire, że jest to coś złego? DI w symfony jest jaki jest i korzystając z tego fw bierze się go zwykle z dobrodziejstwem inwentarza żeby wszystko było u standaryzowane.
@stash: po prostu lepiej ustawiać kontroler jako serwis i odpowiednie pliki konfiguracyjne, dużo czasu to nie zajmuje a szbyciej będzie działało podczas developingu i na produkcji też jest różnica