Silex:将变量传递给控制器​​ class

Silex: Pass a variable to a controller class

我已经设法将路由参数传递给 class,使用这个:

$app-get('/{$id}', 'OwnClass\Bazinga::lizard');

class Bazinga {
  public function lizard($id, Application $app, Request $request) {
    return "Scissors cuts paper, paper covers rock, rock crushes lizard..."; }

但是如何将全局变量传递给控制器​​调用的 class? 在正常的关闭中,我会使用这个...

$app->get('/', function () use ($globalvariable) { return "meep meep"; } );

我已经设法通过 class 中的静态变量找到解决方法,但必须有更好的方法。

我会使用 $app 容器通过控制器(和其他地方)共享全局变量:

$app->get('/{$id}', 'OwnClass\Bazinga::lizard');

$app['a.unique.identifier'] = $globalvariable;

class Bazinga {

    public function lizard($id, Application $app, Request $request) {
        $globalvariable = $app['a.unique.identifier'];
        return "Scissors cuts paper, paper covers rock, rock crushes lizard...";
    }

}