🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
9 messages
9 total messages Started by Marek S Thu, 11 Apr 2019 20:21
Symfony 4 - jaki model routingu wybrać?
#232353
Author: Marek S
Date: Thu, 11 Apr 2019 20:21
13 lines
1360 bytes
Zastanawiam się nad dwoma: annotations/YAML. Ten pierwszy wydaje mi się 
dość kontrowersyjny. Przy dużej ilości kontrolerów ciężko będzie się 
połapać, która ścieżka, do którego kontrolera prowadzi. Z drugiej zaś 
strony obserwuję parcie mechanizmów Symfonii na tą metodę. console 
make:controller ma jako defaultową metodę wybiera annotations właśnie.

Oglądam jakieś tutoriale: tu również zwykle ta metoda jest proponowana.

Dlaczego tak jest? Co polecacie?

-- 
Pozdrawiam,
Marek
Re: Symfony 4 - jaki model routingu wybrać?
#232354
Author: Rafal Podsiadly
Date: Fri, 12 Apr 2019 18:19
12 lines
1624 bytes
Co wybrać / to kwestia gustu po pracuj z obiema i ocen z czy ci się dobrze pracuje..

Jeśli chodzi o routing to zawsze ma postać drzewa.
/
/admin
/admin/prfile
/admin/module
/user
/user/profile
/user/article
/article
/article/comment
Re: Symfony 4 - jaki model routingu wybrać?
#232355
Author: Marek S
Date: Sat, 13 Apr 2019 09:56
21 lines
1887 bytes
W dniu 2019-04-12 o 20:19, Rafal Podsiadly pisze:
> Co wybrać / to kwestia gustu po pracuj z obiema i ocen z czy ci się dobrze pracuje..
> 
> Jeśli chodzi o routing to zawsze ma postać drzewa.

Moje pytanie było poprzedzone pewną rozmową jaką odbyłem ze znajomym, 
który tworzył w Symfonii 3.x akurat. Powiedział mi on iż routing typu 
"annotations" jest fajny, ale dla małych projektów. Jedyna rzecz jaka 
wydaje mi się zagrożeniem dla "annotations" to jest rozrzucenie ścieżek 
po dziesiątkach (jeśli nie więcej) kontrolerów. Znalezienie właściwego 
po nazwie ścieżki może być kłopotliwe.

Druga rzecz, to grupowanie ścieżek. Np. oddzielne dla zalogowanych i 
oddzielne dla niezalogowanych, oddzielne dla zalogowanych jako np. admin 
itd. Przy annotations tego chyba się nie da czytelnie zrobić?

Jakie masz doświadczenia w tym względzie?

-- 
Pozdrawiam,
Marek
Re: Symfony 4 - jaki model routingu wybrać?
#232356
Author: Wojciech Bancer
Date: Sat, 13 Apr 2019 13:40
38 lines
2572 bytes
On 2019-04-13, Marek S <precz@spamowi.com> wrote:

[...]

>> Co wybrać / to kwestia gustu po pracuj z obiema i ocen z czy ci się dobrze pracuje..
>> 
>> Jeśli chodzi o routing to zawsze ma postać drzewa.
>
> Moje pytanie było poprzedzone pewną rozmową jaką odbyłem ze znajomym, 
> który tworzył w Symfonii 3.x akurat. Powiedział mi on iż routing typu 
> "annotations" jest fajny, ale dla małych projektów. Jedyna rzecz jaka 
> wydaje mi się zagrożeniem dla "annotations" to jest rozrzucenie ścieżek 
> po dziesiątkach (jeśli nie więcej) kontrolerów. Znalezienie właściwego 
> po nazwie ścieżki może być kłopotliwe.

Jak ktoś ma bałagan w projekcie, to nawet routing w 1 pliku będzie problemem.
Anotacje są lepsze, bo umiejscawiają routing w okolicy miejsca do którego on
trafia a nie "gdzieś tam", i nie trzeba skakać po fafnastu plikach, aby dodać
jedną metodę, albo zmodyfikować istniejącą.

Jak ktoś nie ma bałaganu w nazewnictwie kontrolerów (można je przecież grupować 
w katalogach i nazywać w sposób znaczący), to nie będzie miał problemów i 
z routingiem. Jak ktoś ma bałagan, to inne sposoby organizacji (yaml) co najwyżej 
przykryją problem.

A istnieje taka komenda:
$ php bin/console debug:router --show-controllers
i już wszystko widać.

> Druga rzecz, to grupowanie ścieżek. Np. oddzielne dla zalogowanych i 
> oddzielne dla niezalogowanych, oddzielne dla zalogowanych jako np. admin 
> itd. Przy annotations tego chyba się nie da czytelnie zrobić?

Wszystko się da czytelnie zrobić.

-- 
Wojciech Bańcer
wojciech.bancer@gmail.com
Re: Symfony 4 - jaki model routingu wybrać?
#232357
Author: Marek S
Date: Sat, 13 Apr 2019 21:44
23 lines
1818 bytes
W dniu 2019-04-13 o 15:40, Wojciech Bancer pisze:

> Jak ktoś nie ma bałaganu w nazewnictwie kontrolerów (można je przecież grupować
> w katalogach i nazywać w sposób znaczący), to nie będzie miał problemów i
> z routingiem. Jak ktoś ma bałagan, to inne sposoby organizacji (yaml) co najwyżej
> przykryją problem.

Ok, zatem muszę coś wybrać. Będę budował routing tą techniką. Pewnie 
twórcy "make'a" też z jakiegoś powodu wybrali annotations.

Jak wygląda kwestia zmian w routingu dla dev'a? Np. chciałbym aby jakieś 
sekcje uwidoczniły się lub (być może) ukryły tylko dla dev'a.

> A istnieje taka komenda:
> $ php bin/console debug:router --show-controllers
> i już wszystko widać.

Wow! Super!


-- 
Pozdrawiam,
Marek
Re: Symfony 4 - jaki model routingu wybrać?
#232358
Author: Wojciech Bancer
Date: Sun, 14 Apr 2019 09:03
20 lines
2195 bytes
On 2019-04-13, Marek S <precz@spamowi.com> wrote:
> W dniu 2019-04-13 o 15:40, Wojciech Bancer pisze:
>
>> Jak ktoś nie ma bałaganu w nazewnictwie kontrolerów (można je przecież grupować
>> w katalogach i nazywać w sposób znaczący), to nie będzie miał problemów i
>> z routingiem. Jak ktoś ma bałagan, to inne sposoby organizacji (yaml) co najwyżej
>> przykryją problem.
>
> Ok, zatem muszę coś wybrać. Będę budował routing tą techniką. Pewnie 
> twórcy "make'a" też z jakiegoś powodu wybrali annotations.
>
> Jak wygląda kwestia zmian w routingu dla dev'a? Np. chciałbym aby jakieś 
> sekcje uwidoczniły się lub (być może) ukryły tylko dla dev'a.

https://stackoverflow.com/questions/51882132/restrict-symfony-4-route-to-the-dev-environment
Z tego co wyczytałem, to trzeba dodać import tych routingów do config/routes/dev

-- 
Wojciech Bańcer
wojciech.bancer@gmail.com
Re: Symfony 4 - jaki model routingu wybrać?
#232359
Author: Borys Pogoreło
Date: Sun, 14 Apr 2019 11:57
17 lines
1871 bytes
Dnia Sun, 14 Apr 2019 11:03:36 +0200, Wojciech Bancer napisał(a):

>> Jak wygląda kwestia zmian w routingu dla dev'a? Np. chciałbym aby jakieś 
>> sekcje uwidoczniły się lub (być może) ukryły tylko dla dev'a.
> 
> https://stackoverflow.com/questions/51882132/restrict-symfony-4-route-to-the-dev-environment
> Z tego co wyczytałem, to trzeba dodać import tych routingów do config/routes/dev

I w ten sposób już tracisz jedyną (i wątpliwą) zaletę annotations, czyli
powiązania ich jednoznacznie z miejscem definicji. Wystarczy, że potrzebny
jest warunek logiczny wykraczający poza te dostarczane przez framework. Ja
ich osobiście nie lubię z tego właśnie powodu, podobnie jak plików YAML
(które do tego dodają kupę problemów z tym formatem jako takim).

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Re: Symfony 4 - jaki model routingu wybrać?
#232360
Author: Wojciech Bancer
Date: Sun, 14 Apr 2019 12:07
26 lines
2354 bytes
On 2019-04-14, Borys Pogoreło <borys@pl.edu.leszno> wrote:

[...]

>>> Jak wygląda kwestia zmian w routingu dla dev'a? Np. chciałbym aby jakieś 
>>> sekcje uwidoczniły się lub (być może) ukryły tylko dla dev'a.
>> 
>> https://stackoverflow.com/questions/51882132/restrict-symfony-4-route-to-the-dev-environment
>> Z tego co wyczytałem, to trzeba dodać import tych routingów do config/routes/dev
>
> I w ten sposób już tracisz jedyną (i wątpliwą) zaletę annotations, czyli
> powiązania ich jednoznacznie z miejscem definicji.

Nie. Nie definicje routingu nadal są tam gdzie ich zastosowanie.
W konfiguracji określamy które anotacje ładować (w jakich środowiskach),
czyli określamy loader, a nie same reguły routingu.

> Wystarczy, że potrzebny jest warunek logiczny wykraczający poza te dostarczane 
> przez framework.

To sobie dopiszesz własny loader. 
Odróżniajmy routing od jego loadera.

-- 
Wojciech Bańcer
wojciech.bancer@gmail.com
Re: Symfony 4 - jaki model routingu wybrać?
#232361
Author: Rafal Podsiadly
Date: Sun, 14 Apr 2019 18:44
6 lines
1863 bytes
W tym przypadku rozwiązania są dwa

przez security
https://symfony.com/doc/current/best_practices/security.html

lub zmienne środowiskowe w /src/Kernel.php
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads