📌
Router Sistema de Rotas com Controllers e Middlewares
como usar:
inicialização:
use Tulipa\Collection\Router;
Router::boot('http://localhost/router/example');
$router = Router::getInstance();
//rotas
//executar rota
$router->run();
rotas
$router->get('/', Controller::class, 'função_do_controller');
$router->get('/example', function (){
return 'hello world';
});
definição de nome para rota
$router->get(/**/)->name('example');
Middlewares
definição de middleware por rota
$router->get(/**/)->middleware('auth');
$router->get(/**/)->middleware(['auth', 'admin']);
definição de middlewares padrões
// inicialização do rounter
$router->middlewares(['maintenance', 'auth']);
definição de middleware por controller
use Tulipa\Collection\http\Controller;
class HomeController extends Controller {
protected $middlewares = ['auth', 'admin'];
}
exemplo de middleware
use Tulipa\Collection\http\Middleware\Middleware;
use Tulipa\Collection\http\Request;
class Auth extends Middleware {
public function handle(Request $request){
//codigo
return $request;
}
}
Controller
exemplo de controller
use Tulipa\Collection\http\Controller;
class HomeController extends Controller {
//middlewares
protected $middlewares = ['auth', 'admin'];
public function index() {
return 'Home Page'
}
}