public function testArray()
 {
     $app = new Application();
     $controller = new DummyController();
     $adapter = new Controller($app);
     $wrappedCallback = $adapter->createController([$controller, 'testAction']);
     $request = Request::create('http://example.com/');
     $result = $wrappedCallback($request);
     $this->assertInstanceOf(Response::class, $result);
 }
<?php

require __DIR__ . '/../vendor/autoload.php';
use Psr\Http\Message\ServerRequestInterface;
use Silex\Application;
use SilexPsr7\Adapter\Controller;
use Zend\Diactoros\Response;
$app = new Application();
$adapter = new Controller($app);
$app->get('/', $adapter->createController(function (ServerRequestInterface $request) {
    $response = new Response();
    $body = $response->getBody();
    $body->write("Hello World!");
    $params = $request->getServerParams();
    if (isset($params['HTTP_HOST'])) {
        $body->write("<br>");
        $body->write("<i>Server at " . $params['HTTP_HOST'] . "</i>");
    }
    return $response;
}));
$app->run();
<?php

require __DIR__ . "/vendor/autoload.php";
use SilexPsr7\Adapter\Controller;
$app = new DI\Bridge\Silex\Application();
$app['debug'] = true;
$app['response'] = new Zend\Diactoros\Response();
$adapter = new Controller($app);
$app->get('/', $adapter->createController(new Acme\Action\DefaultAction($app->getContainer())));
$app->run();