veka-server/dispatcher

最小化的PSR-7和PSR-15分发器

0.1.1 2017-10-19 14:30 UTC

This package is auto-updated.

Last update: 2024-09-26 20:00:11 UTC


README

最小化的PSR-7和PSR-15分发器。它基于 grafikart.fr 的 PSR 中间件教程。它将不断进化以保持 PSR 标准。

依赖项

此包需要至少PHP 7.1。

安装

当有稳定版本可用时通过composer安装

composer require veka-server/dispatcher

通过composer的JSON文件安装 - 开发版本

"veka-server/dispatcher": "dev-master@dev"

使用

创建分发器实例

// creation du dispatcher
$Dispatcher = new VekaServer\Dispatcher\Dispatcher();

添加中间件

// ajout des middlewares
$Dispatcher
    ->pipe(new \Middlewares\Whoops())
    ->pipe(new VK\Framework\MyMiddleware())
    ->pipe(new VK\Framework\MyMiddlewareA());

使用GuzzleHttp创建要处理的PSR-7请求

// recuperation de la requete recue
$request = \GuzzleHttp\Psr7\ServerRequest::fromGlobals();

执行先前创建的请求上的中间件并获取响应

// lance l'execution des middlewares et recupere la reponse
$response = $Dispatcher->process($request);

将响应显示在屏幕上

// si la reponse est presente ont l'affiche
if($response instanceof \Psr\Http\Message\ResponseInterface)
    $Dispatcher->send($response);