leinc/minichan-router
Composer 安装命令:
composer require leinc/minichan-router
包简介
A minimal router that can be integrated in any project.
README 文档
README
A minimal router.
Installation
$ composer require leinc/minichan-router
Usage
You can use this router like below
<?php require __DIR__ . "/vendor/autoload.php"; Router::get('/',function (Request $request){ echo "Hello World"; }); Router::get('/foo',function (Request $request){ echo "foo route"; }); Router::executeRoutes();
Use Controller instead of callback functions
<?php require __DIR__ . "/vendor/autoload.php"; Router::get('/foo/create',[FooController::class,'create']); Router::post('/foo',[FooController::class,'store']); Router::executeRoutes();
However you would be able to use dynamic route parameters
<?php require __DIR__ . "/vendor/autoload.php"; Router::get('/bar/{id}',function (Request $request){ echo $request->params()->id; }); Router::get('/foo/{file}',function (Request $request){ echo $request->params()->file; })->where('/foo\/[a-z]+/'); Router::executeRoutes();
Request methods
You can use only this request methods to handle you're api
GET,POST,PUT,PATCH,DELETE,OPTION
Middleware
Create a class for example AuthMiddleware that implements IMiddleware contract
<?php class AuthMiddleware implements IMiddleware { public function handle(IRequest $request,Callable $next) { if(!isset($_SESSION['admin']) && $_SESSION['admin'] !== 'test'){ header("Location:/"); exit(); } $next($request); } }
After middleware has been created you should register it on you're router
<?php require __DIR__ . "/vendor/autoload.php"; Router::get('/foo',function (Request $request){ // your code })->middleware([AuthMiddleware::class]); Router::executeRoutes();
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-11-25