Article View: pl.comp.lang.php
Article #232367Re: Symfony 4 - jaka korzyść z wstrzykiwanych service providerów?
From: Borys Pogoreło
Date: Wed, 17 Apr 2019 08:36
Date: Wed, 17 Apr 2019 08:36
69 lines
4303 bytes
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-mailReferences:
<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