enalquiler / symfony-middleware
Symfony Middleware based on PSR-15
3.0.0
2018-01-23 21:45 UTC
Requires
- psr/http-server-middleware: ^1.0
- symfony/http-kernel: ^3.4|^4.0
- symfony/psr-http-message-bridge: ^1.0
- zendframework/zend-diactoros: ^1.5
Requires (Dev)
- guzzlehttp/psr7: ^1.4
- phpunit/phpunit: ^6.3
- symfony/symfony: ^3.4|^4.0
This package is not auto-updated.
Last update: 2025-04-13 06:30:34 UTC
README
A dead-simple PSR-15 middleware to run Symfony as a middleware.
Installation
composer require enalquiler/symfony-middleware
Usage
With Zend Stratigility
Zend Stratigility
<?php use Zend\Diactoros\Response; use Zend\Diactoros\Server; use Zend\Stratigility\MiddlewarePipe; use Zend\Stratigility\NoopFinalHandler; use Enalquiler\Middleware\SymfonyMiddleware; require __DIR__ . '/../vendor/autoload.php'; $app = new MiddlewarePipe(); $app->setResponsePrototype(new Response()); $kernel = new AppKernel('dev', true); $server = Server::createServer($app, $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES); $app ->pipe(new SymfonyMiddleware($kernel)) ->pipe('/foo', function ($req, $res, $next) { $res->getBody()->write('FOO!'); return $res; }) ; $server->listen(new NoopFinalHandler());
With Middleman
<?php use Psr\Http\Message\RequestInterface as Request; use Zend\Diactoros\Response; use Zend\Diactoros\ServerRequest; use mindplay\middleman\Dispatcher; use Enalquiler\Middleware\SymfonyMiddleware; $kernel = new AppKernel('dev', true); $dispatcher = new Dispatcher([ new SymfonyMiddleware($kernel), function (Request $request) { return (new Response())->withBody(...); // abort middleware stack and return the response }, // ... ]); $response = $dispatcher->dispatch(new ServerRequest($_SERVER, $_FILES));
Running the tests
php vendor/bin/phpunit
Authors
- David MartÃnez - Initial work
- Christian Soronellas
- Enalquiler Engineering
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- This middleware was inspired by the work of https://github.com/thecodingmachine/symfony-middleware