Symfony 4.1: Barra Final Configurável nas Rotas Importadas

Andréia Bohner
1 min readJun 3, 2018

--

No Symfony 4.1, foi trabalhado muito no componente Routing para torná-lo o roteamento PHP mais rápido, para permitir traduzir caminhos da rota, para tornar a configuração de rota mais concisa e permitir adicionar prefixo nos nomes de rotas importadas.

Outro recurso de roteamento adicionado ao Symfony 4.1 é a possibilidade de configurar a barra final da rota raiz ao importar uma coleção de rotas. Considere a seguinte configuração:

# config/routes.yaml
_api_routes:
resource: '../src/Controller/Api'
type: 'annotation'
prefix: '/api'

# ...

Se alguma das rotas importadas usar / como seu caminho:

use Symfony\Component\Routing\Annotation\Route;

class ApiController extends Controller
{
/**
* @Route("/", name="api_index")
*/
public function index()
{
// ...
}

// ...
}

O Symfony adiciona o caminho / ao prefixo importado, então, o resultado é um caminho /api/. Esse comportamento era uma limitação conhecida do Symfony que tornava impossível ter uma rota raiz importada sob um prefixo sem uma barra final. No Symfony 4.1, corrigimos essa limitação introduzindo uma nova opção de configuração chamada trailing_slash_on_root:

# config/routes.yaml
_api_routes:
resource: '../src/Controller/Api'
type: 'annotation'
prefix: '/api'
# to maintain backward compatibility, its value is 'true' by default
trailing_slash_on_root: false

Tradução de: New in Symfony 4.1: Configurable trailing slash on imported routes

--

--