thecodingmachine / stratigility-harmony
Cross-framework module for Stratigility
Installs: 57 954
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 2
Open Issues: 0
Requires
- php: >=7.0
- container-interop/service-provider: ~0.3.0
- thecodingmachine/middleware-list-universal-module: ~1.0
- zendframework/zend-diactoros: ^1.3
- zendframework/zend-stratigility: ^1.1
Requires (Dev)
- puli/cli: ^1.0
- puli/composer-plugin: ^1.0
README
This package integrates Stratigility in any container-interop compatible framework/container.
Installation
composer require thecodingmachine/stratigility-harmony
If your container supports autodiscovery by thecodingmachine/discovery, there is nothing more to do.
Otherwise, you need to register the TheCodingMachine\StratigilityServiceProvider
and the TheCodingMachine\MiddlewareListServiceProvider
into your container.
Refer to your framework or container's documentation to learn how to register service providers.
Usage
This module registers 2 services in your container:
-
A Zend Diactoros Server under the
Zend\Diactoros\Server
key. Use thelisten
method to answer calls:$server = $container->get(Server::class); $server->listen();
-
A MiddlewarePipe instance under the
Zend\Stratigility\MiddlewarePipe
key. Use this middleware pipe to add your own middlewares:$middlewarePipe = $container->get(MiddlewarePipe::class); $middlewarePipe->pipe($myMiddleware);
About the middlewares priority queue
Depending on the middleware you are registering, you generally have a fairly good idea of the order your middleware should run compared to other middlewares. The Stratigility service provider will use the middleware list provided by thecodingmachine/middleware-list-universal-module.
Please have a look at this package to see how to add middlewares automatically.