devceliojr / simplerouter
一个轻量级、易于使用的PHP路由器,用于构建Web应用。
1.0.6
2023-10-18 15:48 UTC
Requires
- php: >=8.1
README
SimpleRouter是一个轻量级且易于使用的PHP路由器,用于构建Web应用。
功能
- 简洁直观的语法
- 支持动态路由和URL参数
- 支持HTTP方法(GET、POST、PUT、PATCH和DELETE)
- 易于定制
- 轻量级且快速
要求
- PHP >= 8.1
安装
您可以使用Composer安装SimpleRouter
composer require devceliojr/simplerouter
使用方法
以下是一个使用SimpleRouter的简单示例
<?php require __DIR__ . "/vendor/autoload.php"; use SimpleRouter\Application\Router; $router = new Router; $router->get('/', function () { echo 'Hello, world!'; }); $router->dispatch();
这将创建一个新的路由器,定义主页的路由,并运行路由器。
您还可以定义带有URL参数的动态路由
$router->get('/users/{id:number}', function ($request) { echo "User {$request->body->id}"; });
在这个例子中,任何与模式/users/{id:number}
匹配的URL都将由回调函数处理,该回调函数将接收id
的值作为参数。
支持的参数类型有
number
:只接受数字值letter
:只接受字母字符alpha
:接受字母数字字符any
:接受任何字符
您可以通过调用路由器上的相应函数使用除GET以外的HTTP方法
$router->post('/users', function () { echo "Creating user..."; });
在这个例子中,当向/users
URL发送POST请求时,将执行回调函数。
您还可以在动态路由中使用HTTP动词
$router->put('/users/{id:number}', function ($request) { echo "Updating user {$request->body->id}..."; });
在这个例子中,当向与模式/users/{id:number}
匹配的URL发送PUT请求时,将执行回调函数。
对于更复杂的应用,您可以使用嵌套路由和子组
$router->group(null, function () use ($router) { $router->get("/", [HomeController::class, "home"]); }); $router->group("/admin", function () use ($router) { $router->get("/", [AdminController::class, "show"]); $router->subgroup("/financial", function () use ($router) { $router->get("/", [AdminController::class, "financial"]); }); });
在这个例子中,HomeController
类处理根URL,而AdminController
类处理/admin
前缀下的URL。通过导航到/admin/financial
来访问AdminController
类的financial
方法。
有关如何使用SimpleRouter的更多信息,请参阅文档。
贡献
欢迎贡献!如果您想为SimpleRouter做出贡献,请打开GitHub上的一个问题或拉取请求。
许可
SimpleRouter是开源软件,许可协议为MIT许可。