PHP试图在symfony2中实现接口但未成功

PHP试图在symfony2中实现接口但未成功,php,symfony,abstract-class,Php,Symfony,Abstract Class,我刚开始学习Symfony2。我在控制器中使用接口时遇到问题。我已经创建了一个非常简单的接口,然后在控制器中实现了它,现在Symfony调试器大声说我的方法和接口不兼容。下面是我的代码 Webrama\UserBundle\Controller: namespace Webrama\UserBundle\Controller; use Webrama\UserBundle\Model\InitializableControllerInterface; use Symfony\Bundle\Fr

我刚开始学习Symfony2。我在控制器中使用接口时遇到问题。我已经创建了一个非常简单的接口,然后在控制器中实现了它,现在Symfony调试器大声说我的方法和接口不兼容。下面是我的代码

Webrama\UserBundle\Controller:

namespace Webrama\UserBundle\Controller;

use Webrama\UserBundle\Model\InitializableControllerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller implements InitializableControllerInterface
{
    public function initialize(Request $request,
                               SecurityContextInterface $security_context,
                               FilterControllerEvent $event)
    {

    }
}
以及界面:

namespace Webrama\UserBundle\Model {

    interface InitializableControllerInterface
    {
        public function initialize(Request $request,
                                   SecurityContextInterface $security_context,
                                   FilterControllerEvent $event);
    }
}
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

我只是简单地从接口复制了这个方法,在其中添加了一个主体,在这里我看不到任何问题。当然至少有一个。有什么想法吗?

尝试将其添加到控制器和界面:

namespace Webrama\UserBundle\Model {

    interface InitializableControllerInterface
    {
        public function initialize(Request $request,
                                   SecurityContextInterface $security_context,
                                   FilterControllerEvent $event);
    }
}
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

尝试将其添加到控制器和界面:

namespace Webrama\UserBundle\Model {

    interface InitializableControllerInterface
    {
        public function initialize(Request $request,
                                   SecurityContextInterface $security_context,
                                   FilterControllerEvent $event);
    }
}
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

尝试将其添加到控制器和界面:

namespace Webrama\UserBundle\Model {

    interface InitializableControllerInterface
    {
        public function initialize(Request $request,
                                   SecurityContextInterface $security_context,
                                   FilterControllerEvent $event);
    }
}
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

尝试将其添加到控制器和界面:

namespace Webrama\UserBundle\Model {

    interface InitializableControllerInterface
    {
        public function initialize(Request $request,
                                   SecurityContextInterface $security_context,
                                   FilterControllerEvent $event);
    }
}
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\HttpKernel\Event\FilterControllerEvent;

愚蠢的我不明白这是为什么,但它的工作。。。看起来我必须阅读一些symfony tut.+1来详细说明正确的答案;接口的参数类型提示假定位于同一命名空间(
Webrama\UserBundle\Model
)内,因为您没有使用
use
语句显式定义它们。这与Symfony无关。这只是与PHP OOP相关。不,绝对不是:)我只是指“看起来好像我必须阅读一些symfony tut。”愚蠢。我不明白这是为什么,但它的工作。。。看起来我必须阅读一些symfony tut.+1来详细说明正确的答案;接口的参数类型提示假定位于同一命名空间(
Webrama\UserBundle\Model
)内,因为您没有使用
use
语句显式定义它们。这与Symfony无关。这只是与PHP OOP相关。不,绝对不是:)我只是指“看起来好像我必须阅读一些symfony tut。”愚蠢。我不明白这是为什么,但它的工作。。。看起来我必须阅读一些symfony tut.+1来详细说明正确的答案;接口的参数类型提示假定位于同一命名空间(
Webrama\UserBundle\Model
)内,因为您没有使用
use
语句显式定义它们。这与Symfony无关。这只是与PHP OOP相关。不,绝对不是:)我只是指“看起来好像我必须阅读一些symfony tut。”愚蠢。我不明白这是为什么,但它的工作。。。看起来我必须阅读一些symfony tut.+1来详细说明正确的答案;接口的参数类型提示假定位于同一命名空间(
Webrama\UserBundle\Model
)内,因为您没有使用
use
语句显式定义它们。这与Symfony无关。这只是与PHP OOP相关。不,绝对不是:)我只是指“看起来好像我必须阅读一些symfony tut。”