我对控制器中的功能规范有疑问。以下函数返回服务实体管理器,或者它应该:
/**
* @return EntityManager
*/
public function getEntityManager()
{
$entityManager = $this->get('doctrine.orm.default_entity_manager');
return $entityManager;
}
所以,回归线说
Return value is expected to be '\Doctrine\Orm\EntityManager', 'object' returned.
好的,我知道在函数规范中说返回的类型是对象ServiceName,但是如何管理这种情况呢?我希望类型是serviceName,而不是对象类型。如果我在返回规范中修改EntityManager with object是好的,但不是我想要的。任何人都可以提供建议吗?
编辑:
/**
* @var $entityManager EntityManager
*
* @return EntityManager
*/
public function getEntityManager()
{
$entityManager = $this->get('doctrine.orm.default_entity_manager');
return $entityManager; //still receive the warning here
}
答案 0 :(得分:0)
如果 IDE 显示警告,并且它不是PHP本身抛出的异常,则它来自缺少的phpdoc。
为了解决问题(并为$entityManager
获取正确的自动完成功能,请在函数内的变量赋值的正上方添加@var
docblock。
/**
* @return EntityManager
*/
public function getEntityManager()
{
/** @var EntityManager $entityManager */
$entityManager = $this->get('doctrine.orm.default_entity_manager');
return $entityManager;
}