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:
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
$ 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
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:
composer require zendframework/zend-expressive-aurarouter
composer require zendframework/zend-expressive-fastroute
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:
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.
$ mkdocs build
Additionally, public-facing, browseable documentation is available at https://docs.zendframework.com/zend-expressive/