schnittstabil/psr7-middleware-stack
最新稳定版本:3.0.1
Composer 安装命令:
composer require schnittstabil/psr7-middleware-stack
包简介
Stack PSR-7 middlewares in a reusable way.
README 文档
README
Stack PSR-7 middlewares in a reusable way 🍡
Install
$ composer require schnittstabil/psr7-middleware-stack
Usage
<?php use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; use Schnittstabil\Psr7\MiddlewareStack\MiddlewareStack; $newMiddleware = (new MiddlewareStack()) ->add($someMiddleware4) ->add($someMiddleware3) ->add( function (RequestInterface $req, ResponseInterface $res, callable $next) { $res->getBody()->write('Greetings from the the 2nd middleware.'); return $next($req, $res); } ) ->add($someMiddleware1); ?>
Slim Example
Suppose we want to minify the response of some, but not all routes by Oscar Otero's psr7-middlewares in a reusable way.
Install dependencies:
$ composer require slim/slim $ composer require oscarotero/psr7-middlewares $ composer require mrclay/minify $ composer require willdurand/negotiation
app.php
<?php require __DIR__.'/vendor/autoload.php'; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; use Psr7Middlewares\Middleware; use Slim\App; use Slim\Http\Stream; use Schnittstabil\Psr7\MiddlewareStack\MiddlewareStack; // setup oscarotero/psr7-middlewares Middleware::setStreamFactory(function ($file, $mode) { return new Stream(fopen($file, $mode)); }); $app = new App(); $app->getContainer()['minifyMiddleware'] = function ($c) { return (new MiddlewareStack()) ->add(Middleware::Minify()) ->add(Middleware::FormatNegotiator()); }; $app->get('/', function (RequestInterface $request, ResponseInterface $response) { $body = '<!-- comment --><h1>Hello world!</h1><!-- comment -->'; return $response->write($body); })->add('minifyMiddleware'); $app->run(); ?>
License
MIT © Michael Mayer
统计信息
- 总下载量: 111.52k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 3
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-01-30