mezzio

PSR-15 Middleware Microframework

349
53
PHP

mezzio

Build Status
Type Coverage

Develop PSR-7 middleware applications in minutes!

mezzio builds on laminas-stratigility
to provide a minimalist PSR-7 middleware framework for PHP, with the following
features:

Installation

We provide two ways to install Mezzio, 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 mezzio/mezzio-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 mezzio-skeleton/ directory).

Manual Composer installation

You can install Mezzio standalone using Composer:

composer require mezzio/mezzio

However, at this point, Mezzio is not usable, as you need to supply
minimally:

  • a router.
  • a dependency injection container.

We currently support and provide the following routing integrations:

We recommend using a dependency injection container, and typehint against
PSR-11 Container. We
can recommend the following implementations:

  • laminas-servicemanager:
    composer require laminas/laminas-servicemanager
  • Pimple (see docs for more details):
    composer require laminas/laminas-pimple-config
  • Aura.Di (see docs for more details):
    composer require laminas/laminas-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.mezzio.dev/mezzio/