Php Zf2 setEventManager问题

Php Zf2 setEventManager问题,php,zend-framework,zend-framework2,Php,Zend Framework,Zend Framework2,我一直在学习在Zend Framework 2中创建Restful应用程序的教程,在我尝试实现如tut中所述的代码之前,一切都进展顺利: 公共函数setEventManager(EventManager接口$events) { $this->events=$events; //以高优先级注册侦听器 $events->attach('dispatch',array($this,'checkOptions'),10); }接口强制执行setEventManager::$events是一个实现接口Z

我一直在学习在Zend Framework 2中创建Restful应用程序的教程,在我尝试实现如tut中所述的代码之前,一切都进展顺利:

公共函数setEventManager(EventManager接口$events)
{
$this->events=$events;
//以高优先级注册侦听器
$events->attach('dispatch',array($this,'checkOptions'),10);

}
接口强制执行
setEventManager::$events
是一个实现接口
Zend\EventManager\EventManagerInterface
的类;但是,您已经破坏了这一点,因为
EventManagerInterface
只是完全限定类名的别名

您可以通过使用完全限定的类名来避免这种情况

public function setEventManager(\Zend\EventManager\EventManagerInterface $events);
或者,保留现有名称空间,只需在类的顶部添加名称空间别名

<?php
    namespace Api/Controller;

    use Zend\EventManager\EventManagerInteface;
public function setEventManager(EventManagerInterface $events)
{
    parent::setEventManager($events);

    $events->attach('dispatch', array($this, 'checkOptions'), 10);
}