USAR PHROUTE CON COMPOSER
crear un archivo json
composer.json
{
"require":
{
"phroute/phroute": "^2.1"
}
}
ahora en la terminal utilizo
composer install
creamos el archivo index y dentro de el colocamos el siguiente codigo
por si prensenta errores al subir a hosting
include __DIR__ . '/vendor/autoload.php';
<?php
include __DIR__ . './vendor/autoload.php';
use Phroute\Phroute\RouteCollector;
use Phroute\Phroute\Dispatcher;
use Phroute\Phroute\Exception\HttpRouteNotFoundException;
use Phroute\Phroute\Exception\HttpMethodNotAllowedException;
$collector = new RouteCollector();
foreach ( glob( 'controllers/*.php') as $controladores)
{
include_once $controladores;
}
$dispatcher = new Dispatcher($collector->getData());
$url = $_GET['url'];
$metodo = $_SERVER['REQUEST_METHOD'];
try {
echo $dispatcher->dispatch($metodo, $url); # Mandar sólo el método y la ruta limpia
} catch (HttpRouteNotFoundException $e) {
echo "Error: Ruta no encontrada";
echo "<a href='./'>go</a>";
} catch (HttpMethodNotAllowedException $e) {
echo "Error: Ruta encontrada pero método no permitido";
}
ahora creamos una carpeta llamada controllers en la raiz de nuestro proyecto
creamos un archivo llamado root.php
y dentro de el colocamos las posibles rutas
ejemplo:
$collector->get('/', function(){
return 'Home Page';
});
$collector->post('products', function(){
return 'Create Product';
});
$collector->put('items/{id}', function($id){
return 'Amend Item ' . $id;
});
crear un .htaccess
la # es comentario
la d es directorios
la f es files
RewriteEngine On
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]