Introduction

PrestoPHP is a PHP microframework. It is built on the shoulders of Symfony and Pimple and also inspired by Sinatra.

PrestoPHP aims to be:

  • Concise: PrestoPHP exposes an intuitive and concise API.

  • Extensible: PrestoPHP has an extension system based around the Pimple service-container that makes it easy to tie in third party libraries.

  • Testable: PrestoPHP uses Symfony’s HttpKernel which abstracts request and response. This makes it very easy to test apps and the framework itself. It also respects the HTTP specification and encourages its proper use.

In a nutshell, you define controllers and map them to routes, all in one step.

Usage

<?php

// web/index.php
require_once __DIR__.'/../vendor/autoload.php';

$app = new PrestoPHP\Application();

$app->get('/hello/{name}', function ($name) use ($app) {
    return 'Hello '.$app->escape($name);
});

$app->run();

All that is needed to get access to the Framework is to include the autoloader.

Next, a route for /hello/{name} that matches for GET requests is defined. When the route matches, the function is executed and the return value is sent back to the client.

Finally, the app is run. Visit /hello/world to see the result. It’s really that easy!