Silex 2 addListener 触发错误

Silex 2 addListener trigger error

我正在尝试向我的控制器操作之一添加事件 listener/dispatcher。 它的目标是在将默认数据保存到我的数据库之前将默认数据添加到我的实体。

这是我目前所知道的。

app.php

$app['dispatcher']->addListener('my_event_name', function (Event $event) {
    // do something;
});

最终出现以下错误:

( ! ) InvalidArgumentException: Identifier "dispatcher" does not contain an object definition. in /var/www/site/vendor/pimple/pimple/src/Pimple/Container.php on line 233

查看此线程。看起来它与您调用和初始化的精确顺序有关。

$this->before(function () {
    $this['dispatcher']->addListener($eventName, $callback);
});

https://github.com/silexphp/Silex-WebProfiler/issues/70#issuecomment-170399805