brdev / router
类快速且极其简单。创建简化路由
1.9
2024-04-18 19:52 UTC
Requires
- php: ^7.0|^8.0
README
小巧、简单且不复杂。该路由器是一个具有MVC抽象的PHP路由组件。准备有RESTfull动词(GET、POST、PUT、PATCH和DELETE),在单独的层上工作,可以无密钥集成到您的应用中。
小、简单且不复杂。该路由器是一个具有MVC抽象的PHP路由组件。准备有RESTfull动词(GET、POST、PUT、PATCH和DELETE),在单独的层上工作,可以无密钥集成到您的应用中。
安装
路由器通过Composer提供
"brdev/router": "1.8"
或运行
composer require brdev/router
文档
有关如何使用路由器的详细信息,请参阅组件目录中的示例文件夹。要使用路由器,您需要将您的路由导航重定向到根路由文件(index.php),所有流量都必须在此处理。以下示例显示了如何操作:
有关如何使用路由器的详细信息,请参阅组件目录中的示例文件夹。要使用路由器,您需要将您的路由导航重定向到根路由文件(index.php),所有流量都必须在此处理。以下示例显示了如何操作:
Apache
RewriteEngine On
Options All -Indexes
# ROUTER HTTPS Redirect
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# ROUTER URL Rewrite
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=/$1 [L,QSA]
Nginx
location / {
try_files $uri $uri/ /index.php?route=$uri&$args;
}
路由
<?php use BRdev\Router\Router; use BRdev\Router\Web\Web; require __DIR__."/vendor/autoload.php"; //namespace Router::namespace("BRdev\Router\Web"); Router::get('/','Web@home'); //or Router::get('/',[Web::class,'web']); Router::get('/sobre','Web@about'); //namespace Router::namespace("BRdev\Router\App"); Router::get('/user/{id}', 'App@user'); Router::group('/error'); Router::get('/{code}','App@error'); Router::endgroup(); Router::dispatch(); //error if(Router::error()){ Router::redirect("/error/".Router::getError()); }
可调用
<?php use BRdev\Router\Router; require __DIR__."/vendor/autoload.php"; Router::get('/', function () { echo "Pagina Home"; }); Router::get('/sobre', function () { echo "Pagina Sobre"; }); Router::get('/user/{id}', function ($data) { echo "User ". $data->id; }); Router::group('/error'); Router::get('/{code}',function ($data){ var_dump($data->code) }); Router::endgroup(); Router::dispatch(); //error if(Router::error()){ Router::redirect("/error/".Router::getError()); }