Como definir rotas no Symfony 4
Entendo como funciona o processo de criação de rotas no symfony e como utilizar parâmetros, barras opcionais.
“Rotas podem ser configuradas em YAML, XML e PHP. Todos os formatos fornecem os mesmos recursos e desempenho, então escolha o que você preferir.” — symfony.com
Nesse exemplos vamos utilizar o YAML, todavia os parâmetros utilizados aqui são equivalente para os outros tipos disponibilizados pelo symfony.
Estrutura incial do symfony 4
Primeiramente vamos instalar o symfony o seguinte comando:
symfony new project
Com a instalação concluída temos umas estrutura de diretórios mais simplificada agora no symfony 4, e vamos definir nossa rotas dentro do diretório config/
Definindo nossas rotas
Para definirmos nossa rotas criamos um controller chamando HomeController, e definindo uma action chamada index, que agora no symfony 4 já não se faz necessário adicionar a palavra reservada action.
# config/routes.yaml
home:
path: /site
controller: App\Controller\HomeController::indexblog_show:
path: /blog/{slug}
controller: App\Controller\BlogController::show
Roteamento localizado (i18n)
As rotas podem ser localizadas para fornecer caminhos exclusivos por localidade. O Symfony fornece uma maneira prática de declarar rotas localizadas sem duplicação.
# config/routes.yaml
about_us:
path:
nl: /over-ons
en: /about-us
controller: App\Controller\HomeController::about
Adicionando {wildcard} Requirements
Como adicionar barras opções com o wildcards
# config/routes.yaml
blog_list:
path: /blog/{page}
controller: App\Controller\BlogController::list
requirements:
page: '[^/]+'
Referência e Documentação oficial
https://symfony.com/doc/current/routing.html
Até mais :)