benson/route-me

适用于所有RESTFUL动词的REST API基本路由器

1.0.2 2023-07-19 02:24 UTC

This package is auto-updated.

Last update: 2024-09-19 05:18:32 UTC


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,请按照以下步骤操作

  1. 将composer自动加载器导入到您的PHP文件中

    require_once 'vendor/autoload.php';
  2. 创建Router类的新实例

    $router = new Router();
  3. 使用 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
    });
  4. 通过调用 run() 方法来处理传入的请求

    $router->run(); 

贡献

欢迎贡献!要为Route-Me做出贡献,请按照以下步骤操作

  1. 分支仓库。

  2. 创建一个新的分支。

    git checkout -b your-branch-name
  3. 进行更改。

  4. 提交您的更改并将它们推送到您的分支。请确保添加清晰的提交消息并包含任何相关的文档更新。由于Route-Me遵循 PSR-2编码标准,请确保您的代码符合这些标准。如果您不确定,可以使用 PHP编码标准修复器

    git add .
    git commit -m "your commit message"
    git push origin your-branch-name
  5. 提交拉取请求。请确保您遵守编码标准并编写清晰的提交消息。

许可

Route-Me是开源软件,在MIT许可证下发布。有关详细信息,请参阅 LICENSE

作者

Route-Me由 Benson Ose-Mensah 开发和维护。