alanvdb / middleware-dispatcher
一个符合PSR标准的中间件分发器
v1.0.0
2024-08-06 15:06 UTC
Requires
Requires (Dev)
- phpunit/phpunit: ^11.3
This package is auto-updated.
Last update: 2024-09-06 18:33:16 UTC
README
一个符合PSR标准的中间件分发器。
概述
middleware-dispatcher
库提供了一个简单且可扩展的符合PSR-15标准的中间件分发器。它允许您通过处理中间件堆栈来处理HTTP服务器请求。
功能
- 符合PSR-15
- 简单易用的API
- 支持任何PSR-15兼容的中间件
- 优雅地处理异常和无效的中间件
安装
要安装middleware-dispatcher
库,请使用Composer
composer require alanvdb/middleware-dispatcher
使用方法
以下是如何使用middleware-dispatcher
的示例
<?php require 'vendor/autoload.php'; use AlanVdb\Dispatcher\Dispatcher; use AlanVdb\Dispatcher\Factory\DispatcherFactory; use Psr\Http\Server\RequestHandlerInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Server\MiddlewareInterface; use GuzzleHttp\Psr7\ServerRequest; use GuzzleHttp\Psr7\Response; class ExampleMiddleware implements MiddlewareInterface { public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { // Add your middleware logic here return $handler->handle($request); } } $middlewares = [new ExampleMiddleware()]; $factory = new DispatcherFactory(); $dispatcher = $factory->createDispatcher($middlewares); $request = new ServerRequest('GET', 'https://api.example.com/data'); $response = $dispatcher->handle($request); echo $response->getBody();
测试
要运行测试,请使用PHPUnit。请确保已安装PHPUnit并执行以下命令
vendor/bin/phpunit
贡献
欢迎贡献!请按照以下步骤进行贡献
- 复制项目
- 为您的功能创建分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m 'Add some AmazingFeature'
) - 推送到分支(
git push origin feature/AmazingFeature
) - 打开拉取请求
确保您的代码遵循PSR编码标准并包含相关的测试。
许可证
本项目采用MIT许可证。有关详细信息,请参阅MIT许可证文件。
问题和反馈
如果您遇到任何问题或需要反馈,请在GitHub仓库上创建一个问题。