🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232363

Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów?

#232363
From: Borys Pogoreło
Date: Sun, 14 Apr 2019 22:56
32 lines
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-mail
References: <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