0
我似乎错过了尝试将服务注入侦听器时无法识别的步骤。将服务注入侦听器类
这里是我的services.xmlL
<services>
<!-- Activity logger -->
<service id="myapp.activity_logger" class="My\AppBundle\Api\ActivityLogger">
</service>
<!-- Activity events -->
<service id="myapp.activity.logged_in" class="My\AppBundle\Listener\ActivityListener">
<argument type="service" id="myapp.activity_logger" />
<tag name="kernel.event_listener" event="security.interactive_login" method="onLoggedIn" priority="254" />
</service>
...
监听器类本身:
namespace My\AppBundle\Listener;
use My\AppBundle\Api\ActivityLogger;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
class ActivityListener
{
protected $activityLogger;
public function __construct(ActivityLogger $al)
{
$this->activityLogger = $al;
}
public function onLoggedIn(InteractiveLoginEvent $event)
{
// Log activity data
}
我收到的错误,当我触发事件:
ErrorException: Catchable Fatal Error: Argument 1 passed to
My\AppBundle\Listener\ActivityListener::__construct() must be an instance of
My\AppBundle\Api\ActivityLogger, none given, called in
/var/www/app/cache/dev/appDevDebugProjectContainer.php on line 2739 and defined in
/var/www/src/My/AppBundle/Listener/ActivityListener.php line 18
我似乎无法以隔离我做错了注入服务,因为我相信我遵循手册中的正确步骤。
嗯..没有,尽管你的理论可能是正确的我仍然得到同样的错误后清除缓存并尝试加载 –