Как инжектировать объект $app в контроллер в Silex?
Я немного автоматизировал этот процесс через kernel events$app->on(KernelEvents::CONTROLLER, function (FilterControllerEvent $event) use ($app) {
    $c = $event->getController();
    /** @var BaseController $controller */
    $controller = $c[0];
    if ($controller instanceof BaseController) {
        $controller->injectApp($app);
    }
});

abstract class BaseController
{
    protected $app;

    public function injectApp(Application $app)
    {
        $this->app = $app;
        return $this;
    }
}
Собственно сам и нашел ответ. Нужно немного расширить класс контроллера и можно использовать $app где пожелаешь:use Silex\Application;

class UserController
{
    private $app;

    public function index ( Application $app )
    {
        $this -> app = $app;

        return $this -> app['twig']->render('user.twig', array(
            'user' => 1
        ));
    }
}