https://github.com/thecodingmachine/stratigility-harmony
Cross-framework module for Stratigility
https://github.com/thecodingmachine/stratigility-harmony
Last synced: 12 months ago
JSON representation
Cross-framework module for Stratigility
- Host: GitHub
- URL: https://github.com/thecodingmachine/stratigility-harmony
- Owner: thecodingmachine
- License: mit
- Created: 2016-03-02T11:13:44.000Z (over 10 years ago)
- Default Branch: 2.1
- Last Pushed: 2018-08-23T13:21:42.000Z (almost 8 years ago)
- Last Synced: 2025-06-13T15:03:49.643Z (12 months ago)
- Language: PHP
- Size: 15.6 KB
- Stars: 0
- Watchers: 9
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Stratigility universal module
This package integrates Stratigility in any [container-interop](https://github.com/container-interop/service-provider) 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`](src/StratigilityServiceProvider.php) 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 the `listen` method to answer calls:
```php
$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:
```php
$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](https://github.com/thecodingmachine/middleware-list-universal-module).
Please have a look at this package to see how to add middlewares automatically.