定制 phoole/middleware 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phoole/middleware

最新稳定版本:1.1.0

Composer 安装命令:

composer require phoole/middleware

包简介

Slim and simple PSR-15 compliant middleware runner library for PHP

README 文档

README

Build Status Scrutinizer Code Quality Code Climate PHP 7 Latest Stable Version License

Slim and simple PSR-15 compliant middleware runner library for PHP.

Installation

Install via the composer utility.

composer require "phoole/middleware"

or add the following lines to your composer.json

{
    "require": {
       "phoole/middleware": "1.*"
    }
}

Features

  • Able to use PSR-15 compliant middlewares out there.

  • Able to use a middleware queue (a group of middlewares) as a generic middleware in another(or the main) queue.

Usage

Create the middleware queue, then process all the middlewares.

use Phoole\Middleware\Queue;
use GuzzleHttp\Psr7\Response;
use GuzzleHttp\Psr7\ServerRequest;

// create middleware queue with 404 response as default(last)
$mws = new Queue(new Response(404));

// add middlewares
$mws->add(
    new LoggerMiddleware(),
    new DispatcherMiddleware()
);

// process the request with middlewares
$response = $mws->handle(new ServerRequest('GET', 'http://bingo.com/get'));

Advanced

  • Subqueue

    Phoole\Middleware\Queue implements the Psr\Http\Server\MiddlewareInterface, so the queue itself can be used as a generic middleware.

    // subqueue may need no default response if not the last in the main queue
    $subQueue = (new Queue())->add(
        new ResponseTimeMiddleware(),
        new LoggingMiddleware()
    );
    
    // main middleware queue
    $mws = (new Queue(new Response(404)))->add(
        $subQueue,
        new DispatcherMiddleware()
    );

Testing

$ composer test

Dependencies

  • PHP >= 7.2.0

  • phoole/base 1.*

  • A PSR-7 HTTP message implementation, such as guzzle/psr7.

License

统计信息

  • 总下载量: 2.12k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2019-10-21