我有以下类结构
我正在使用Symfony2的服务来管理BaseHandler
和BaseManager
类
class BaseHandler implements IHandler
{
/**
* @var IManager
*/
protected $manager;
...
public function setManager(IManager $manager)
{
$this->manager = $manager;
}
...
}
一切正常,但问题是当我尝试使用SpecializedManager
类的某些方法时,PhpStorm的建议没有显示他们的方法,只有属于IManager
的方法。
例如在我的控制器中
public function indexAction(){
$handler = $this->get('appbundle.handler.specialized_handler');
$items = $this->manager->mySubClassMethod(); // PHPStorm shows warning
...
}
我不知道如何在处理程序子类中设置var manager
的注释以更改为类似@var SpecializedHandler $manager
的内容,方法中没有其他替代方法出现在建议中。
注意:基类或扩展为多个专用子类。
答案 0 :(得分:0)
当您正在使用PHPStorm时,您可以为PHPStorm安装Symfony2插件:https://plugins.jetbrains.com/plugin/7219?pr=phpStorm
安装此插件(并在项目中启用)后,您应自动完成服务的自动完成。