marrios / router
路由管理器
v2.2.3
2023-07-07 19:03 UTC
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2024-09-16 18:17:58 UTC
README
@marriosdev
Marrios/Router
HTTP 路由管理器,适用于 MVC 项目
如果您发现任何错误,您可以通过 PR 打开
指南
开始
25 - 安装
composer require marrios/router
26 - 使用函数
use Marrios\Router\HttpRouter; $router = new HttpRouter(); // Set route $router->get("/helloworld", [function(){ echo "Hello World!";}])->run(); $router->notFound();
当访问 /helloworld 路由时
Hello World!
28 - 使用控制器
use App\Controllers\TesteController; use Marrios\Router\HttpRouter; $router = new HttpRouter(); // Set route $router->post("/helloworld", [TesteController::class, "helloWorld"])->run(); $router->notFound();
当访问 /helloworld 路由时
Hello World!
参数
使用动态参数
动态参数使用大括号 { } 定义
* 注意:在定义动态路由时,您必须在回调函数或控制器方法中添加一个参数
以下示例使用 CallBack
use Marrios\Router\HttpRouter; $router = new HttpRouter(); // Set route $router->post("/blog/{category}/{id_post}", [ function($param){ echo $param->category;}])->run(); $router->notFound();
当访问 /blog/video/1323 路由时
video
以下示例使用 Controller
use Marrios\Router\HttpRouter; $router = new HttpRouter(); // Instantiating the route object $router = new Router(); // Set route $router->get("/blog/{category}/{id_post}", [TesteController::class, "helloWorld"])->run(); $router->notFound();
您的控制器应该如下所示
class TesteController { public function helloWorld($param) { echo $param->id_post; } }
当访问 /blog/video/1323 路由时
1323
路由分组
实现路由分组
分组
$router->group([ $router->get("ok", [function () {echo "Hello";}])->run(), $router->get("ok2", [function () {echo "Hello 2";}])->run() ]);
带有中间件的路由分组
$router->middleware([Middleware::class])->group([ $router->get("ok", [function () {echo "Hello";}])->run(), $router->get("ok2", [function () {echo "Hello 2";}])->run() ]);
访问日志
启用日志并定义日志存储的位置。注意:此行必须在文件开头定义
$router->logs(logs: true)->setStorageLogs(__DIR__);