Expressive

PSR-7 Middleware in Minutes

PSR-7

PSR-7

Built to consume PSR-7!

Middleware

Middleware

Create middleware applications, using as many layers as you want, and the architecture your project needs.

Routing

Routing

Route requests to middleware using the routing library of your choice.

Dependency Injection

Dependency Injection

Make your code flexible and robust, using the dependency injection container of your choice.

Templating

Templating

Create templated responses, using a variety of template engines.

Error Handling

Error Handling

Handle errors gracefully, using templated error pages, whoops, or your own solution!

Get Started Now!

Installation is only a Composer command away!


$ composer create-project -s rc zendframework/zend-expressive-skeleton expressive
    

Choose what you want

Expressive provides interfaces for routing and templating, letting you choose what to use, and how you want to implement it.

Our unique installer allows you to select your choices when starting your project!

Applications, Simplified

Write middleware:


$pathMiddleware = function (
    ServerRequestInterface $request,
    ResponseInterface $response,
    callable $next
) {
    $uri  = $request->getUri();
    $path = $uri->getPath();

    $response->getBody()->write('You visited ' . $path);
    return $next($request, $response->withHeader('X-Path', $path));
};
    

And add it to an application:


$app->get('/path', $pathMiddleware);
          

Learn more

Or use the menu to navigate to the section you're interested in.