Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zendframework/zend-expressive
PSR-15 middleware in minutes!
https://github.com/zendframework/zend-expressive
microframework microservice middleware middleware-pipeline php php71 psr-11 psr-15 psr-7 zend-expressive zend-framework
Last synced: 3 days ago
JSON representation
PSR-15 middleware in minutes!
- Host: GitHub
- URL: https://github.com/zendframework/zend-expressive
- Owner: zendframework
- License: bsd-3-clause
- Archived: true
- Created: 2015-07-31T17:45:22.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-01-28T19:25:43.000Z (almost 5 years ago)
- Last Synced: 2024-12-17T01:12:05.073Z (about 1 month ago)
- Topics: microframework, microservice, middleware, middleware-pipeline, php, php71, psr-11, psr-15, psr-7, zend-expressive, zend-framework
- Language: PHP
- Homepage:
- Size: 14.2 MB
- Stars: 711
- Watchers: 104
- Forks: 196
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-http - Zend Expressive
- awesome-list-microservice - zend-expressive - 15 middleware in minutes! (psr-7)
README
# zend-expressive
> ## Repository abandoned 2019-12-31
>
> This repository has moved to [mezzio/mezzio](https://github.com/mezzio/mezzio).[![Build Status](https://secure.travis-ci.org/zendframework/zend-expressive.svg?branch=master)](https://secure.travis-ci.org/zendframework/zend-expressive)
[![Coverage Status](https://coveralls.io/repos/github/zendframework/zend-expressive/badge.svg?branch=master)](https://coveralls.io/github/zendframework/zend-expressive?branch=master)*Develop PSR-7 middleware applications in minutes!*
zend-expressive builds on [zend-stratigility](https://github.com/zendframework/zend-stratigility)
to provide a minimalist PSR-7 middleware framework for PHP, with the following
features:- Routing. Choose your own router; we support:
- [Aura.Router](https://github.com/auraphp/Aura.Router)
- [FastRoute](https://github.com/nikic/FastRoute)
- [zend-router](https://github.com/zendframework/zend-expressive-router)
- DI Containers, via [PSR-11 Container](https://github.com/php-fig/container).
Middleware matched via routing is retrieved from the composed container.
- Optionally, templating. We support:
- [Plates](http://platesphp.com/)
- [Twig](http://twig.sensiolabs.org/)
- [ZF2's PhpRenderer](https://github.com/zendframework/zend-view)## Installation
We provide two ways to install Expressive, both using
[Composer](https://getcomposer.org): via our
[skeleton project and installer](https://github.com/zendframework/zend-expressive-skeleton),
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:
```bash
$ composer create-project zendframework/zend-expressive-skeleton
```This will prompt you through choosing your dependencies, and then create and
install the project in the `` (omitting the `` will
create and install in a `zend-expressive-skeleton/` directory).### Manual Composer installation
You can install Expressive standalone using Composer:
```bash
$ 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](https://github.com/auraphp/Aura.Router):
`composer require zendframework/zend-expressive-aurarouter`
- [FastRoute](https://github.com/nikic/FastRoute):
`composer require zendframework/zend-expressive-fastroute`
- [zend-router](https://github.com/zendframework/zend-expressive-router):
`composer require zendframework/zend-expressive-zendrouter`We recommend using a dependency injection container, and typehint against
[PSR-11 Container](https://github.com/php-fig/container). We
can recommend the following implementations:- [zend-servicemanager](https://github.com/zendframework/zend-servicemanager):
`composer require zendframework/zend-servicemanager`
- [Pimple](https://github.com/silexphp/Pimple) (see [docs](docs/book/features/container/pimple.md) for more details):
`composer require zendframework/zend-pimple-config`
- [Aura.Di](https://github.com/auraphp/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
Documentation is [in the doc tree](docs/book/), and can be compiled using [mkdocs](http://www.mkdocs.org):
```bash
$ mkdocs build
```Additionally, public-facing, browseable documentation is available at
https://docs.zendframework.com/zend-expressive/