zendframework / zend-expressive
PSR-15 Middleware Microframework
Installs: 1 679 314
Dependents: 98
Suggesters: 5
Security: 0
Stars: 773
Watchers: 123
Forks: 216
Open Issues: 19
pkg:composer/zendframework/zend-expressive
Requires
- php: ^7.1
 - fig/http-message-util: ^1.1.2
 - psr/container: ^1.0
 - psr/http-message: ^1.0.1
 - psr/http-server-middleware: ^1.0
 - zendframework/zend-expressive-router: ^3.0
 - zendframework/zend-expressive-template: ^2.0
 - zendframework/zend-httphandlerrunner: ^1.0.1
 - zendframework/zend-stratigility: ^3.0
 
Requires (Dev)
- filp/whoops: ^1.1.10 || ^2.1.13
 - malukenho/docheader: ^0.1.6
 - mockery/mockery: ^1.0
 - phpstan/phpstan: ^0.9.2
 - phpstan/phpstan-strict-rules: ^0.9
 - phpunit/phpunit: ^7.0.1
 - zendframework/zend-coding-standard: ~1.0.0
 - zendframework/zend-diactoros: ^1.7.1 || ^2.0
 - zendframework/zend-expressive-aurarouter: ^3.0
 - zendframework/zend-expressive-fastroute: ^3.0
 - zendframework/zend-expressive-zendrouter: ^3.0
 - zendframework/zend-servicemanager: ^2.7.8 || ^3.3
 
Suggests
- filp/whoops: ^2.1 to use the Whoops error handler
 - psr/http-message-implementation: Please install a psr/http-message-implementation to consume Expressive; e.g., zendframework/zend-diactoros
 - zendframework/zend-auradi-config: ^1.0 to use Aura.Di dependency injection container
 - zendframework/zend-expressive-helpers: ^3.0 for its UrlHelper, ServerUrlHelper, and BodyParseMiddleware
 - zendframework/zend-expressive-tooling: ^1.0 for migration and development tools; require it with the --dev flag
 - zendframework/zend-pimple-config: ^1.0 to use Pimple for dependency injection container
 - zendframework/zend-servicemanager: ^3.3 to use zend-servicemanager for dependency injection
 
Conflicts
- container-interop/container-interop: <1.2.0
 - zendframework/zend-diactoros: <1.7.1
 
- dev-master / 3.2.x-dev
 - dev-develop / 3.3.x-dev
 - 3.2.1
 - 3.2.0
 - 3.1.0
 - 3.0.3
 - 3.0.2
 - 3.0.1
 - 3.0.0
 - 3.0.0rc5
 - 3.0.0rc4
 - 3.0.0rc3
 - 3.0.0rc2
 - 3.0.0rc1
 - 3.0.0alpha9
 - 3.0.0alpha8
 - 3.0.0alpha7
 - 3.0.0alpha6
 - 3.0.0alpha5
 - 3.0.0alpha4
 - 3.0.0alpha3
 - 3.0.0alpha2
 - 3.0.0alpha1
 - 2.2.1
 - 2.2.0
 - 2.1.1
 - 2.1.0
 - 2.0.6
 - 2.0.5
 - 2.0.4
 - 2.0.3
 - 2.0.2
 - 2.0.1
 - 2.0.0
 - 1.1.1
 - 1.1.0
 - 1.0.6
 - 1.0.5
 - 1.0.4
 - 1.0.3
 - 1.0.2
 - 1.0.1
 - 1.0.0
 - 1.0.0rc7
 - 1.0.0rc6
 - 1.0.0rc5
 - 1.0.0rc4
 - 1.0.0rc3
 - 1.0.0rc2
 - 1.0.0rc1
 - 0.5.3
 - 0.5.2
 - 0.5.1
 - 0.5.0
 - 0.4.0
 - 0.3.1
 - 0.3.0
 - 0.2.1
 - 0.2.0
 - 0.1.1
 - 0.1.0
 - dev-release-2.2
 
This package is auto-updated.
Last update: 2020-01-28 19:25:47 UTC
README
Repository abandoned 2019-12-31
This repository has moved to mezzio/mezzio.
Develop PSR-7 middleware applications in minutes!
zend-expressive builds on zend-stratigility to provide a minimalist PSR-7 middleware framework for PHP, with the following features:
- Routing. Choose your own router; we support:
 - DI Containers, via PSR-11 Container. Middleware matched via routing is retrieved from the composed container.
 - Optionally, templating. We support:
 
Installation
We provide two ways to install Expressive, both using Composer: via our skeleton project and installer, or manually.
Using the skeleton + installer
The simplest way to install and get started is using the skeleton project, which includes installer scripts for choosing a router, dependency injection container, and optionally a template renderer and/or error handler. The skeleton also provides configuration for officially supported dependencies.
To use the skeleton, use Composer's create-project command:
$ composer create-project zendframework/zend-expressive-skeleton <project dir>
This will prompt you through choosing your dependencies, and then create and
install the project in the <project dir> (omitting the <project dir> will
create and install in a zend-expressive-skeleton/ directory).
Manual Composer installation
You can install Expressive standalone using Composer:
$ composer require zendframework/zend-expressive
However, at this point, Expressive is not usable, as you need to supply minimally:
- a router.
 - a dependency injection container.
 
We currently support and provide the following routing integrations:
- Aura.Router:
composer require zendframework/zend-expressive-aurarouter - FastRoute:
composer require zendframework/zend-expressive-fastroute - zend-router:
composer require zendframework/zend-expressive-zendrouter 
We recommend using a dependency injection container, and typehint against PSR-11 Container. We can recommend the following implementations:
- zend-servicemanager:
composer require zendframework/zend-servicemanager - Pimple (see docs for more details):
composer require zendframework/zend-pimple-config - Aura.Di (see docs for more details):
composer require zendframework/zend-auradi-config 
Additionally, you may optionally want to install a template renderer implementation, and/or an error handling integration. These are covered in the documentation.
Documentation
Documentation is in the doc tree, and can be compiled using mkdocs:
$ mkdocs build
Additionally, public-facing, browseable documentation is available at https://docs.zendframework.com/zend-expressive/