1. O que é uma rota no Symfony?
Uma rota no Symfony é o caminho que o framework utilizará para acessar uma determinada página ou recurso. Ela é composta por um método HTTP, uma URL e uma ação que será executada quando essa rota for acessada.
2. Como criar uma nova rota no Symfony?
Para criar uma nova rota no Symfony, é necessário editar o arquivo routing.yml, que fica dentro da pasta “config”. Nesse arquivo, é preciso definir um nome para a rota, a URL que ela utilizará, o método HTTP que ela responderá e a ação que será executada quando a rota for acessada.
3. Qual a estrutura básica de uma rota no Symfony?
A estrutura básica de uma rota no Symfony é a seguinte:
- name: nome da rota;
- path: URL que a rota utilizará;
- methods: método HTTP que a rota responderá;
- controller: ação que será executada quando a rota for acessada.
4. Como é feita a definição de uma rota com parâmetros no Symfony?
Para definir uma rota com parâmetros no Symfony, é necessário utilizar chaves {} na URL definida na rota. Os parâmetros devem ser nomeados e podem ser opcional ou obrigatórios. Por exemplo, uma rota para exibir um determinado usuário teria a seguinte estrutura: /usuario/{id}.
5. É possível definir restrições para os parâmetros de uma rota no Symfony?
Sim, é possível definir restrições para os parâmetros de uma rota no Symfony. Isso é feito utilizando expressões regulares que limitam o tipo ou valor de um parâmetro. Por exemplo, uma restrição no parâmetro de um ID de usuário poderia limitar seu valor para apenas números.
6. Como é possível aninhar rotas no Symfony?
No Symfony, é possível aninhar rotas utilizando o modo de agrupamento de rotas. Isso permite agrupar rotas relacionadas em uma mesma seção do arquivo routing.yml e definir um prefixo comum para essas rotas. Por exemplo, todas as rotas relacionadas a um determinado módulo poderiam ter um prefixo “/modulo/” para indicar sua relação.
7. O que são rotas nomeadas e por que são úteis?
Rotas nomeadas são rotas que possuem um nome definido na sua declaração. Essa funcionalidade é útil porque permite acessar a rota a partir de qualquer local da aplicação, usando seu nome em vez de sua URL completa. Isso facilita a manutenção e evolução do sistema.
8. Como é possível definir uma rota com vários métodos HTTP no Symfony?
Para definir uma rota com vários métodos HTTP no Symfony, é possível utilizar o recurso methods com um array de valores. Por exemplo, uma rota que deve responder tanto a requisições POST quanto a requisições GET teria a seguinte estrutura: methods: [POST, GET]. Dessa forma, a mesma URL poderá ser utilizada para diferentes tipos de ação.
9. Como é possível definir uma rota com formato customizado de URL?
Para definir uma rota com formato customizado de URL no Symfony, é possível utilizar o recurso requirements. Ele permite definir uma expressão regular que limita o formato da URL aceita pela rota. Por exemplo, uma rota para uma página de busca poderia aceitar apenas URLs que contêm uma palavra ou frase, mas não caracteres especiais, números ou espaços.
10. Como é possível criar rotas em diferentes níveis de escopo no Symfony?
No Symfony, é possível criar rotas em diferentes níveis de escopo utilizando o recurso de prefixos. Isso permite a criação de rotas com URLs relativas, que podem ser aninhadas dentro de rotas de escopo superior. Por exemplo, uma rota para um submódulo dentro de um módulo maior poderia ter um prefixo “/modulo/submodulo/”.