Article View: pl.comp.lang.php
Article #232363Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów?
From: Borys Pogoreło
Date: Sun, 14 Apr 2019 22:56
Date: Sun, 14 Apr 2019 22:56
32 lines
2207 bytes
2207 bytes
Dnia Sun, 14 Apr 2019 22:27:45 +0200, Marek S napisał(a): > 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. Jeśli potrzebujesz go w wielu miejscach, to rzecz jasna najwięcej sensu ma wstrzyknięcie go w konstruktorze. Z kolei powyższy przykład nie ma sensu - jeśli potrzebujesz nowy obiekt, to go utwórz, do tego autowiring nie jest potrzebny. > Po drugie, przy wstrzykiwaniu powstała sprzeczność. Popatrzcie na metodę > prywatną $this->getRandom(). Wstrzykuję do niej MarekService, a z > drugiej strony chcę ją użyć bez przekazywania parametrów (na dole > skryptu), bo nie ma po co ich przekazywać. Metoda ma mi coś zwrócić i > koniec, kropka. Gdybym bazował na $this->priv, to taka sprzeczność nie > miałaby miejsca. Po pierwsze to ta metoda ma wyjątkowo nieczytelną nazwę. getRandom...co? Najpierw określ, co ta metoda (i usługa jako taka) ma w ogóle robić, bo na razie zwraca tablicę?/kolekcję? gifts bez żadnych zmian. A MarekService to już w ogóle z niczym się nie kojarzy - ale to jak rozumiem po prostu testy. -- Borys Pogoreło borys(#)leszno,edu,pl
Technical Details
Message-ID:
<gvp9os44wga7.qk7j5bqtq9y4$.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>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: Mon, 15 Apr 2019 00:56:39 +0200 Organization: snafu Lines: 32 Message-ID: <gvp9os44wga7.qk7j5bqtq9y4$.dlg@40tude.net> References: <q90548$dop$1@node1.news.atman.pl> NNTP-Posting-Host: public-gprs177350.centertel.pl Mime-Version: 1.0 X-Trace: thunar.promontel.net.pl 1555282597 324 46.134.32.7 (14 Apr 2019 22:56:37 GMT) X-Complaints-To: abuse@promontel.net.pl NNTP-Posting-Date: Sun, 14 Apr 2019 22:56:37 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.14.1pl X-fnord: obey. Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit