zend expressive

PSR-15 middleware in minutes!

711
196
PHP

zend-expressive

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:

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/