Article View: pl.comp.lang.php
Article #232365Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów?
From: Borys Pogoreło
Date: Tue, 16 Apr 2019 15:55
Date: Tue, 16 Apr 2019 15:55
67 lines
4060 bytes
4060 bytes
Dnia Mon, 15 Apr 2019 23:38:33 +0200, Marek S napisał(a): > Czy operator new nie tworzy właśnie gotowego obiektu? > Przedebugowałem kod i wyszło mi, że pierwsze wstrzyknięcie jest > równoważnikiem wywołania new. Kolejne: to już korzystanie z tego obiektu. W najprostszym przypadku tak właśnie jest. Ale zadaniem autowiringu nie jest proste tworzenie obiektów, tylko wyciąganie ich z kontenera. Gdzie najczęściej są już skonfigurowane. Mam wrażenie, że kompletnie pominąłeś ten temat w Laravelu, choć było to tłumaczone. > Tak też myślałem. Tutoriale czasem powodują moje zakłopotanie. W Udemy > gość pokazuje wstrzykiwanie w wielu metodach kontrolera. Wydało mi się > to ... wręcz patologiczne. Pewnie jeszcze wrócę tu na grupę z podobnymi > doświadczeniami do wyprostowania - więc z góry dziękuję za wyrozumiałość. Wszystko zależy od potrzeb. > Dziś dyskutowałem z kolegą na ten sam temat. Zwrócił mi uwagę na pewną > cechę Symfony. Można w niej zwyczajnie osadzać w twigach dowolną ilość > kontrolerów i wskazywać na metody jakie mają renderować dany fragment. > Tak na marginesie w Laravelu to było niby też możliwe ale i tak bardzo > ograniczone funkcjonalnie - m.in. dlatego pożegnałem ten framework. I bardzo dobrze, że tak było, bo rozrzucanie logiki po wielu kontrolerach to średni pomysł i szybka droga do bałaganu w kodzie, którego już nikt poza autorem nie ogarnie. >> Po pierwsze to ta metoda ma wyjątkowo nieczytelną nazwę. getRandom...co? > > :-D :-D Ok. Następnym razem nazwę ją dupa(). Serio! :-D Wtedy nikt nie > śmie zapytać do czego dupa służy :-D Taki dialekt paru moich znajomych z > powodzeniem stosuje (ja również) jako odpowiednik Lorem ipsum w tekstach > pisanych :-D Mógłbym zrobić Ci wykład z dbania o poprawne nazewnictwo w kodzie, również testowym, który pokazujesz światu. Ale... chyba nie ma sensu. > A różnie. W ramach testów zmieniam do woli jej funkcjonalność. > Pierwotnie była to tablica, a teraz kolekcja ORM. Jutro być może będzie > coś innego :-D I my mamy zgadywać? > P.S. > W międzyczasie wynikła pewna niedogodność dla mnie. W odróżnieniu od > Laravela, czystego PHP, JS, CSS, HTML, cokolwiek - nie potrafię poruszać > się po dokumentacji Symfony. Przykładowo, w wielu przykładach > kontrolerów widuję $this->addFlash(). Z jakiegoś komentarza w kodzie > dowiedziałem się, że jest to odpowiednik: > > $request->getSession()->getFlashBag()->add() > > Załóżmy jednak, że czyjś komentarz mi nie wystarcza i chciałbym w > oficjalnej dokumentacji poczytać o tym. Jak docierasz do takich > informacji? Masz jakąś listę linków? Dlaczego ta funkcja wydaje się być > nieudokumentowaną, choć jest powszechnie używana? Bardzo prosto, zaglądasz do źródeł. getFlash() to jest helper: https://github.com/symfony/symfony/blob/4.0/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/SessionHelper.php#L45 -- Borys Pogoreło borys(#)leszno,edu,pl
Technical Details
Message-ID:
<ppp4e0u3vnag$.ulgdsy0emagt.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mailReferences:
<q90548$dop$1@node1.news.atman.pl> <gvp9os44wga7.qk7j5bqtq9y4$.dlg@40tude.net> <q92tkr$99a$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mail From: Borys Pogoreło <borys@pl.edu.leszno> Newsgroups: pl.comp.lang.php Subject: Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Date: Tue, 16 Apr 2019 17:55:40 +0200 Organization: snafu Lines: 67 Message-ID: <ppp4e0u3vnag$.ulgdsy0emagt.dlg@40tude.net> References: <q90548$dop$1@node1.news.atman.pl> <gvp9os44wga7.qk7j5bqtq9y4$.dlg@40tude.net> <q92tkr$99a$1@node2.news.atman.pl> NNTP-Posting-Host: public-gprs177350.centertel.pl Mime-Version: 1.0 X-Trace: thunar.promontel.net.pl 1555430132 5679 46.134.32.7 (16 Apr 2019 15:55:32 GMT) X-Complaints-To: abuse@promontel.net.pl NNTP-Posting-Date: Tue, 16 Apr 2019 15:55:32 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.14.1pl X-fnord: obey. Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit