Welcome to zend-expressive

Congratulations! You have successfully installed the zend-expressive skeleton application. This skeleton can serve as a simple starting point for you to begin building your application.

Expressive builds on zend-stratigility to provide a minimalist PSR-7 middleware framework for PHP.

Agile & Lean

Expressive is fast, small and perfect for rapid application development, prototyping and api's. You decide how you extend it and choose the best packages from major framework or standalone projects.

HTTP Messages

HTTP messages are the foundation of web development. Web browsers and HTTP clients such as cURL create HTTP request messages that are sent to a web server, which provides an HTTP response message. Server-side code receives an HTTP request message, and returns an HTTP response message.


Middleware is code that exists between the request and response, and which can take the incoming request, perform actions based on it, and either complete the response or pass delegation on to the next middleware in the queue. Your application is easily extended with custom middleware created by yourself or others.


Expressive promotes and advocates the usage of Dependency Injection/Inversion of Control containers when writing your applications. Expressive supports multiple containers which typehints against container-interop.


One fundamental feature of zend-expressive is that it provides mechanisms for implementing dynamic routing, a feature required in most modern web applications. Expressive ships with multiple adapters.

Get started with FastRoute.


By default, no middleware in Expressive is templated. We do not even provide a default templating engine, as the choice of templating engine is often very specific to the project and/or organization. However, Expressive does provide abstraction for templating, which allows you to write middleware that is engine-agnostic.

Get started with Twig.