🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#232367
From: Borys Pogoreło
Date: Wed, 17 Apr 2019 08:36
69 lines
4303 bytes
Dnia Wed, 17 Apr 2019 00:11:37 +0200, Marek S napisał(a):

> Zapoznając się z Symfonią mam wrażenie, że jest ona prosta jak pisanie w 
> czystym PHP. 

Bo taka jest idea Symfony - jest to stosunkowo niskopoziomowy framework /
zbiór komponentów, z którego dopiero musisz zbudować co potrzebujesz. Nie
ma sensu porównywać obu tych frameworków pod tym kątem, bo są zupełnie
inne. Zresztą, Laravel też jest zbudowany w dużej mierze na Symfony.

> Swoją drogą jak potężny stos musi tworzyć aplikacja "hello world" w
> Laravelu, to sobie nie jestem w stanie wyobrazić nawet. 

Kilkadziesiąt wywołań, ale Ciebie interesują z reguły te ostatnie.

> Dlatego odniosłeś wrażenie, że pominąłem całą sekcję dokumentacji. 
> Chiński bym szybciej pojął.

No patrz, a większość świata uważa, że Laravel jest prostszy do ogarnięcia.

> Nie rozumiem? W Symfonii udało mi się zrobić przeglądarkę newsów i jej 
> renderowanie za pomocą 1 kontrolera na stronie generowanej z udziałem 
> kilku innych kontrolerów. W Laravelu każdy podobny do w/w funkcjonalnie 
> kontroler musiał mieć brata bliźniaka w postaci serwisu, bo tylko 
> serwisy dawało się osadzać. Więc w laravelu jedna funkcjonalność była 
> rozwalona na przynajmniej 2 pliki. A w Symfonii masz tylko 1 przecież.

Mam wrażenie, że inaczej nazywamy te same rzeczy. Daj przykład.

> Nie wspominając o konieczności rozbijania jednej złożonej strony na 
> wiele blade'ów zamiast umieszczania prostych bloczków typu 
> render(controller + twig do niego). Wtedy twig podąża za kontrolerem 
> przenosząc taki bloczek w inne miejsce.

I tak oto opisałeś View Composer - do którego Cię też już odsyłałem.

> A czy gdy testujesz fragment kodu na np. PHP Sandboxie (taka strona 
> WWW), to również dbasz tam o takie rzeczy skoro po zamknięciu 
> przeglądarki kod i tak zniknie?

Oczywiście, że nie. Ale jeśli bym wystawiał jakiś kawałek kodu na widok
publiczny z pytaniem czemu nie działa, to zadbałbym o jego maksymalną
czytelność. Bo jeśli fragment, o który pytasz, nawet nie wiadomo do końca
co robi, to wielu sobie odpuści.

> Ona po prostu tam jest. Załóż, że nic nie zwraca a my chcemy ją tylko 
> wywołać z parametrem jakimś (np. wartość int). Tymczasem wstrzyknięcie 
> serwisu do metody blokuje możliwość przekazanie parametru do niej, bo 
> spodziewa się MarekService, a nie int'a.

Dalej nie rozumiem. Przecież tam wołasz metodę getRandom() na tym obiekcie,
do której możesz przekazać parametry jakie chcesz. Masz na myśli parametry
konstruktora?

> Ale tam też nie ma addFash(), o który pytam :-(

Ten jest tutaj:
https://github.com/symfony/symfony/blob/1fcc99402137471d68996ffb4b466e3aaee19447/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php#L157

> Zresztą nawet jeśli byłby tam on, to dowiadywanie się o istnieniu (w 
> dodatku powszechnie stosowanych) funkcji/metod poprzez analizę źródeł 
> zamiast szybkiego dowiedzenia się w dokumentacji, jest lekko dziwne...

Gdyby w dokumentacji mieli opisywać każdą pojedynczą metodę, to powstałby
drugi kod źródłowy...

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Technical Details
Message-ID: <hfeh73qmh60x$.19ps8ncbqtknq.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> <gvp9os44wga7.qk7j5bqtq9y4$.dlg@40tude.net> <q92tkr$99a$1@node2.news.atman.pl> <ppp4e0u3vnag$.ulgdsy0emagt.dlg@40tude.net> <q95jus$ncl$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: Wed, 17 Apr 2019 10:36:26 +0200
Organization: snafu
Lines: 69
Message-ID: <hfeh73qmh60x$.19ps8ncbqtknq.dlg@40tude.net>
References: <q90548$dop$1@node1.news.atman.pl> <gvp9os44wga7.qk7j5bqtq9y4$.dlg@40tude.net> <q92tkr$99a$1@node2.news.atman.pl> <ppp4e0u3vnag$.ulgdsy0emagt.dlg@40tude.net> <q95jus$ncl$1@node2.news.atman.pl>
NNTP-Posting-Host: public-gprs177350.centertel.pl
Mime-Version: 1.0
X-Trace: thunar.promontel.net.pl 1555490176 13638 46.134.32.7 (17 Apr 2019 08:36:16 GMT)
X-Complaints-To: abuse@promontel.net.pl
NNTP-Posting-Date: Wed, 17 Apr 2019 08:36:16 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.14.1pl
X-fnord: obey.
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit