Article View: pl.comp.lang.php
Article #232351Re: Symfony 4 - ciągłe problemy z bundlami
From: Marek S
Date: Tue, 16 Apr 2019 21:19
Date: Tue, 16 Apr 2019 21:19
107 lines
5887 bytes
5887 bytes
W dniu 2019-04-16 o 17:43, Borys Pogoreło pisze:
> Wcale nie musisz ich używać. Ja jestem z tej połowy, która uważa je za
> bezsens.
Niestety w kursach jakie wykupiłem nie wspomniano o takiej opcji. :-(
>> - Nie ma potrzeby instalowania całości internetu by projekt działał.
>> Instalujemy skeleton i dociągamy tylko potrzebne rzeczy. W Laravelu 40MB
>> plików o prawie zerowej wielkości, mnie nie zachęca.
>
> Bo taka jest idea tego frameworka. Większość rozwiązań dostarczać gotowe.
I właśnie ta idea mnie powaliła na kolana.
> Przygotowanie takiego samego boilerplate w Symfony to jest orka na
> początku.
>
Hmmm... ja to widzę inaczej już teraz, na początku. Zaczynam projekt,
potrzebuję np. doktryn, to je szybciutko dociągam. W PHPStorm to już w
ogóle bajka bo CTRL+Shift+X potem S, potem doctr i enter. To nie jest
orka lecz niezauważalna czynność obsługowa. Podobnie z innymi.
>> - W Laravelu nie potrafiłem zbudować strony renderowanej z wielu
>> kontrolerów z zapewnieniem funkcjonalności sekcji.
>
> Jak dla mnie to musiałeś to wyjątkowo źle skonstruować, że miałeś takie
> problemy. Albo próbowałeś zbyt skomplikowane rzeczy tworzyć nie znając
> zasad rządzących tym narzędziem. To akurat nic złego, bo tak się też
> nauczysz, ale trochę za szybko odpuściłeś.
Możliwe. Powiem Ci, że konkretnie poległem na stronie z 2ma sekcjami po
3 newsy, które miały możliwość przełączania na kolejne 3 w danej
kolumnie. Założenie: zero Ajaxa. Zrobiłem więc w layoucie miejsce na
nie. Do tego dwa dołączone includami z wstrzykniętymi serwisami
generującymi dane do wyświetlenia. Kontrolerów nie da się wstrzykiwać w
Laravelu. Kliknięcie "następne 3" odwoływało się do kontrolera danej
sekcji, które był tylko po to by przekazać serwisowi informację o
zdarzeniu i potem powrót do strony głównej.
W Symfonii to samo jest banalne: osadzam w layoucie metodę kontrolera,
która renderuje mi blok newsów na podstawie jakiegoś twiga. Klikam
"następne 3", gdzie znów odpala się jakaś metoda __TEGO SAMEGO__
kontrolera, robi swoje i wraca. Nie ma potrzeby rozbijania obsługi bloku
newsów na 2 klasy: kontrolera i serwisu. Nie ma potrzeby (=jest wybór)
includowania zewnętrznych sub-twigów, które dopiero osadzają serwis.
Jaka z tego konsekwencja? A no taka, że gdy klientowi odwidzi się jakiś
blok w danej lokalizacji, to go zabieram z niej i pakuję w inne miejsce
- bez programowania. Tzn. nie muszę przenosić obsługi serwisów do innych
kontrolerów. Zmieniam tylko część wizualną.a soft zostaje.
Dla mnie bajka. Tak robiłem kiedyś w swoim własnym frameworku. Uznałem
wtedy takie "graficzne" podejście za najbardziej wygodne przy realnej
pracy z klientami.
> Poza tym, jak już Ci kiedyś pisałem - kontroler jest jeden. Za to dostawców
> usług albo repozytoriów możesz mieć ile chcesz.
Tak, pamiętam.
>> - Wreszcie w Symfony jest miejsce na programowanie obiektowe. W Laravelu
>> programowanie bardziej przypominało wypełnianie formularzy (template'ów
>> klas). To mi bardziej przypominało programowanie liniowe.
>
> No to żeś znowu pojechał... Na pewno znasz definicję programowania
> obiektowego?
Czy to nie jest przypadkiem coś takiego jak dziedziczenie, polimorfizm,
interfejsy? Być może nie znam. Przyjmijmy więc zatem, że uwielbiam
używać "extends coś mojego", stosować abstrakcje czy final, mieć klasy o
dowolnej zawartości, która mi odpowiada a nie framework narzuca. Laravel
dawał mi fasady, z których korzystanie bardziej przypominało mi pracę
urzędnika niż programisty. :-D
>> - W Symfony, automatycznie wygenerowane migracje zawierają SQL.
>> Popłakałem się ze szczęścia. Zero ORM'owego bełkotu, który wygeneruje
>> nie wiadomo co. W Laravelu na bazie trzeba było sprawdzać czy primary
>> key powstał jako 8-bitowy, czy może 4-ro. Czy został utworzony indeks.
>> Czy relacja się zawiązała i jakiego typu...
>
> Przecież to wszystko masz zdefiniowane w migracjach. Nie rozumiem.
Ale jak zdefiniowane? Ja dostawałem coś takiego w nich:
public function up()
{
Schema::create('flights', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('airline');
$table->timestamps();
});
}
Dla mnie to bełkot. To się półautomatycznie tworzyło.
> W każdej chwili możesz napisać DB::query().
I znów fasada... ech... SQL to tekst prosty, zwięzły, przejrzysty. komu
on szkodzi, ze tak jest tępiony? Podoba mi się w Symfonii, że w
doktrynach jest on natywnie stosowany.
--
Pozdrawiam,
Marek
Technical Details
Message-ID:
<q95gsk$ki3$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<q8lni9$5fp$1@node2.news.atman.pl> <1h2gnc3g49803$.1p62azpj8m51m$.dlg@40tude.net> <q92vd3$arv$1@node2.news.atman.pl> <1lztali5n758t.1bkvqp4b7rdc1.dlg@40tude.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Marek S <precz@spamowi.com> Newsgroups: pl.comp.lang.php Subject: Re: Symfony 4 - ciągłe problemy z bundlami Date: Tue, 16 Apr 2019 23:19:13 +0200 Organization: ATMAN - ATM S.A. Lines: 107 Message-ID: <q95gsk$ki3$1@node2.news.atman.pl> References: <q8lni9$5fp$1@node2.news.atman.pl> <1h2gnc3g49803$.1p62azpj8m51m$.dlg@40tude.net> <q92vd3$arv$1@node2.news.atman.pl> <1lztali5n758t.1bkvqp4b7rdc1.dlg@40tude.net> NNTP-Posting-Host: 89-70-94-204.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1555449556 21059 89.70.94.204 (16 Apr 2019 21:19:16 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Tue, 16 Apr 2019 21:19:16 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 In-Reply-To: <1lztali5n758t.1bkvqp4b7rdc1.dlg@40tude.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit