1. Go to this page and download the library: Download jordan/http-routes library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jordan / http-routes example snippets
//index.php
e "foo/bar/arquivo-rotas-exemplo.php";
//arquivo-rotas-exemplo.php
use HttpRoutes\{Route, Bootstrap};
use HttpRoutes\Exception\BootstrapException;
$route = new Route;
//Insira suas rotas aqui
try {
//Iniciando a aplicação
$app = new Bootstrap($route, "http:\\url-base-projeto");
} catch (BootstrapException $e) {
//Erros relacionados à rota
http_response_code($e->getCode());
if ($e->getCode() == 404 | $e->getCode() == 405) {
//Erros causados pelo usuário
die($e->getMessage());
} else {
//Erros internos
die("Ocorreu um erro inesperado, lamentamos o ocorrido.<br>Detalhes DEBUG: '{$e->getMessage()}'");
}
}
->set('get', 'foo/{obrigatório}');//Correto
->set('post', 'foo/{obrigatório}/{?opcional}');//Correto
->set('DELETE', 'foo/{?opcional}/{obrigatório}');//Essa sequência não funciona muito bem
->set('GET', 'foo/{?opcional}/');//Correto
->name('Nome-da-rota');
$getUriByName('Nome-da-rota', true); //O método retornará a rota antecedida da url base. ex: http://meu-site/rota
$getUriByName('Nome-da-rota', false); //O método retornará somente a rota nomeada. ex: /rota
->callback(function($functions){
return "Resposta a ser retornada";
});
->callback(function($functions){
$getUriByName = $functions['getUriByName'];
return $getUriByName('Nome-da-rota');
});
->controller('Controller', 'action', false)//false, Defaut; O nome do controller será antecedido do namespace App\Controller\
->controller('Foo\Bar\Controller', 'action', true)//O nome do controller será interpretado como um namespace completo
//Controller.php
namespace App\Controller;
Class Controller{
public function __construct($functions)
{
}
public function action()
{
return "It's work well, dude!";
}
}
//Controller.php
namespace Foo\Bar;
Class Controller{
public function __construct($functions)
{
}
public function action()
{
return "It's work well, dude!";
}
}
//Controller.php
namespace App\Controller;
Class Controller{
public function action($args)
{
echo '<pre>';
print_r($args);
echo '</pre>';
}
}
Class Middleware
{
public function action()
{
//Validando...
//Se nenhum valor for retornado, a aplicação receberá um valor nulo como resposta e seguirar seu fluxo. É facultativo o uso de "return null".
//Caso algum valor seja retornado além de nulo, o fluxo da aplicação será encerrado e o retorno será exbido como resposta ao usuário.
}
}