Back-End

20 jul, 2018

5 projetos PHP para mexer com Rotas (Routers)

Publicidade

E ai galera, tudo certo? Estamos falando nos últimos artigos sobre várias bibliotecas escritas em PHP, e dessa vez não iremos mudar o tema.

Uma dificuldade que temos como desenvolvedores web, é a “bonitezação” de URLs e a tratativa de controle de URLs como um todo, e um dos elementos que pode realizar esse tipo de tarefa é aquele que chamamos de Router. Em PHP temos diversos tipos de routers, e hoje irei falar um pouco sobre alguns Routers que você pode utilizar na sua aplicação PHP:

Aura Router

O Aura Router é um router bem tradicional no PHP. Sua versão 3.0 fornece uma estrutura completa para trabalhar com rotas em sua aplicação. Inclusive, é uma das opções de routers que pode ser instalado junto com as versões mais recentes do Zend Expressive.

Possui uma ótima documentação, sendo uma boa escolha caso seu projeto seja mais complexo e precise de uma atenção especial com as rotas.

FastRoute

O FastRoute é um router que vem com a proposta de prover uma rápida implementarão de routers utilizando expressões regulares. Criado por Nikita Popov, um dos core commiters do PHP. Além de trabalhar todos os verbos HTTP com configurações específicas, ainda possui a possibilidade de implementação de cache no router.

Simple PHP Router

A idéia do Simple PHP Router é ser extremamente simples, mas, extremamente robusto. Você pode criar desde uma simples rota get que retorna uma string, como também rotas com múltiplos verbos HTTP.

Além disso, é possível criar diversos tipos de rota por expressões regulares, passando diversos parâmetros e sendo possível, inclusive, criar rotas para subdomínios.

Alto Router

Caso você queira ser direto e queira um router que apenas direciona uma chamada para um arquivo de view diretamente, uma opção é utilizar o Alto Router. Com ele você consegue configurar as chamadas em verbos HTTP específicos que já invocam o arquivo de view para aquela rota específica sem, necessariamente, passar por um Controller.

PHP Router

Um projeto bem legal que temos um brasileiro envolvido: nosso amigo Malukenho, vulgo Jefersson Nathan. O projeto está em sua versão alpha, então seria bom a gente ajudar a testar.

A sintaxe é bastante simples; quando você realiza o map da rota, você já descreve qual vai ser o controller que irá receber a requisição. Além disso, você pode realizar a configurações das rotas por YAML, o que pode ser legal caso você goste de trabalhar com YAML para configurar suas bibliotecas.

Infelizmente a documentação desse router ainda deixa um pouco a desejar.

Espero que vocês tenham gostado, e até a próxima!