Code Quality Rank: L5
Programming language: PHP
License: BSD 3-clause "New" or "Revised" License
Tags: HTTP     Psr     Psr-7     Middleware     Zf     PSR-11     ZendFramework     Zend-expressive     Psr-15     Expressive    
Latest version: v3.2.1

Expressive alternatives and similar libraries

Based on the "Middlewares" category.
Alternatively, view Expressive alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Expressive or a related project?

Add another 'Middlewares' Library



Repository abandoned 2019-12-31

This repository has moved to mezzio/mezzio.

Build Status Coverage Status

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:


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](docs/book/features/container/pimple.md) for more details): composer require zendframework/zend-pimple-config
  • Aura.Di (see [docs](docs/book/features/container/aura-di.md) 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 is [in the doc tree](docs/book/), and can be compiled using mkdocs:

$ mkdocs build

Additionally, public-facing, browseable documentation is available at https://docs.zendframework.com/zend-expressive/