返回的类型应该是entityManager symfony

时间:2017-06-22 11:26:19

标签: symfony entitymanager

我对控制器中的功能规范有疑问。以下函数返回服务实体管理器,或者它应该:

/**
 * @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
}

1 个答案:

答案 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;
}