luigu / router-gust
dev-main
2024-09-25 23:30 UTC
Requires
- php: >=7.2.5
This package is auto-updated.
Last update: 2024-09-25 23:30:34 UTC
README
Router PHP 安装
composer require luigu/router-gust:dev-main
require('vendor/autoload.php'); use GustRouter\Router; $rutas = new Router; $rutas->setDomain('localhost:8080'); function route(string $name, array $parements = []){ global $rutas; return $rutas->route($name,$parements); } function isRoute(string $name){ global $rutas; return $rutas->isRoute($name); } class IndexController { public function index(){ return '<h1>Hello world!!</h1> '.route('blog',['slug' => 'avatar', 'id' => 894654, 'page' => 2]); } public function blog($slug, $id, $page = 1){ return [ 'slug' => $slug, 'id' => $id, 'page' => $page, 'route' => route('blog',['slug' => 'avatar', 'id' => $id, 'page' => $page ]), 'isRoute' => isRoute('blog'), ]; } } class Subdomain { public function index($domain){ return '<h1>Hello Domain world!!</h1> '.route('domain',['domain' => $domain]); } } class AuthMiddleware { public function handle(){ echo 'Middleware'; } } $rutas->get('/', [IndexController::class, 'index'])->name('home'); $rutas->get('/blog/{slug}/{id}', [IndexController::class, 'blog'])->name('blog'); $rutas->group('/admin', function() use ($rutas){ $rutas->get('/', function(){ return 'Admin'; }); $rutas->get('/blog', function(){ return 'Admin Blog'; }); $rutas->get('/blog/{slug}/{id}', function($slug, $id){ return 'Admin Blog '.$slug.' '.$id; }); },AuthMiddleware::class); // subdominio wildcard $rutas->domain('{domain}.localhost:8080', function() use ($rutas){ $rutas->get('/', [Subdomain::class, 'index'])->name('domain'); }); $rutas->setError(function(){ return "404"; }); $rutas->run();
php -S localhost:8080