benson / route-me
适用于所有RESTFUL动词的REST API基本路由器
1.0.2
2023-07-19 02:24 UTC
Requires
- phpunit/phpunit: ^10
README
描述
Route-Me 是一个轻量级且灵活的PHP路由器包,用于创建RESTful API。它支持路由参数、中间件和PSR-7请求/响应处理。Route-Me 使用 PSR-7 HTTP消息接口 构建,并可与任何PSR-7实现一起使用。它是框架无关的,可以与任何PHP框架或独立应用程序一起使用。Route-Me 由 Benson Osei-Mensah 开发和维护。
安装
要在您的项目目录中安装Route-Me,请运行以下命令
composer require benson/router-me
目录
功能
- 路由定义:使用
addRoute()方法将路由添加到路由器。 - 中间件:使用
withMiddleware()方法将中间件函数应用于特定路由或全局。 - 请求处理:通过将URL和HTTP方法与定义的路由进行匹配来处理传入的请求。
- 错误处理:处理404未找到场景和自定义错误处理逻辑。
- 路由参数:支持在URL模式中定义的路由参数。
- 灵活的回调:使用闭包或类方法作为回调函数。
- PSR-7支持:内置支持JSON请求/响应处理。
用法
要在项目中使用Route-Me,请按照以下步骤操作
-
将composer自动加载器导入到您的PHP文件中
require_once 'vendor/autoload.php';
-
创建Router类的新实例
$router = new Router();
-
使用
addRoute()方法将路由添加到路由器$router->get('/users', function () { // Handle GET request to /users }); // Add class method as callback $router->addRoute('GET', '/users', "App\Controllers\UserController@index"); // Add route parameters $router->addRoute('GET', '/users/{id}', function ($id) { // Handle GET request to /users/{id} }); // Add middleware $router->addRoute( 'GET', // HTTP method '/user/{id}', // URL pattern 'App\Controllers\UserController@show', // Callback function 'App\Middleware\Authenticate@handle' // Middleware function ); // Add middleware to all routes $router->withMiddleware('App\Middleware\Authenticate@handle'); $router->post('/users', function () { // Handle POST request to /users });
-
通过调用
run()方法来处理传入的请求$router->run();
贡献
欢迎贡献!要为Route-Me做出贡献,请按照以下步骤操作
-
分支仓库。
-
创建一个新的分支。
git checkout -b your-branch-name
-
进行更改。
-
提交您的更改并将它们推送到您的分支。请确保添加清晰的提交消息并包含任何相关的文档更新。由于Route-Me遵循 PSR-2编码标准,请确保您的代码符合这些标准。如果您不确定,可以使用 PHP编码标准修复器
git add . git commit -m "your commit message" git push origin your-branch-name
-
提交拉取请求。请确保您遵守编码标准并编写清晰的提交消息。
许可
Route-Me是开源软件,在MIT许可证下发布。有关详细信息,请参阅 LICENSE。
作者
Route-Me由 Benson Ose-Mensah 开发和维护。