Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #16148
| From | Marek S <precz@spamowi.com> |
|---|---|
| Newsgroups | pl.comp.lang.php |
| Subject | Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? |
| Date | 2019-04-15 23:38 +0200 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <q92tkr$99a$1@node2.news.atman.pl> (permalink) |
| References | <q90548$dop$1@node1.news.atman.pl> <gvp9os44wga7.qk7j5bqtq9y4$.dlg@40tude.net> |
W dniu 2019-04-15 o 00:56, Borys Pogoreło pisze: >> Prościej byłoby w konstruktorze przypisać do zmiennej prywatnej: >> >> $this->prv=new MarekService(); >> >> ...i dalej w kodzie posługiwać się $this->priv zamiast każdorazowo >> wstrzykiwać coś. > > Autowiring ma za zadanie dostarczyć Ci gotowy obiekt. 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. > Jeśli potrzebujesz go > w wielu miejscach, to rzecz jasna najwięcej sensu ma wstrzyknięcie go w > konstruktorze. 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ść. > > Z kolei powyższy przykład nie ma sensu - jeśli potrzebujesz nowy obiekt, to > go utwórz, do tego autowiring nie jest potrzebny. 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. Może się zdarzyć, że niektóre kontrolery będą potrzebowały MarekService. Wtedy używając wstrzyknięcia w konstruktorach (a nie new) powodujemy, że serwis zostanie zainicjowany raz, przez pierwszy w kolejności kontroler, a reszta kontrolerów będzie korzystała z instancji serwisu. > 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 > Najpierw określ, co ta metoda (i usługa jako taka) ma w ogóle robić, bo na > razie zwraca tablicę?/kolekcję? 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 > gifts bez żadnych zmian. A MarekService to > już w ogóle z niczym się nie kojarzy - ale to jak rozumiem po prostu testy. > Dokładnie tak :-D Wszystko co robię z Symfonią, wielokrotnie trafiało do kosza i inicjowałem nowe struktury w celach poznawczych. I jeszcze przez jakiś czas tab będzie, dopóki nie poznam środowiska by się w nim sprawnie poruszać. 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? W tym względzie dałbym jako adept, mega wielki minus... -- Pozdrawiam, Marek
Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar
Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Marek S <precz@spamowi.com> - 2019-04-14 22:27 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-15 00:56 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Marek S <precz@spamowi.com> - 2019-04-15 23:38 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-16 17:55 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Marek S <precz@spamowi.com> - 2019-04-17 00:11 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-17 10:36 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Marek S <precz@spamowi.com> - 2019-04-17 22:26 +0200
Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-30 16:13 +0200
csiph-web