编程语言
首页 > 编程语言> > 是否可以为PHPDoc的调用方指定参数的显式类型

是否可以为PHPDoc的调用方指定参数的显式类型

作者:互联网

有一个方法调用表达式:

$session->setUser($this->em->getReference(UserAccount::class, $ownerId));

其中setUser声明为

public function setUser(UserAccount $user): self

$this-> em-> getReference是Doctrines的实体管理器方法返回对象| null.

因此,PhpStorm将此调用标记为不匹配的参数 – 参数类型.

我当然可以将它分成2个语句并输入:

/** @var UserAccount $userAccount */
$userAccount = $this->em->getReference(UserAccount::class, $ownerId);
$session->setUser($userAccount);

但也许有办法内联吗?

解决方法:

我很确定它可以用他们称之为PHPStorm advanced metadata的东西.据我所知,你想要这样的东西(你可能需要试验)

override(\Doctrine\ORM\EntityManagerInterface::getReference(0), map([
    '' => '@'
]))

标签:php,phpstorm,phpdoc
来源: https://codeday.me/bug/20190731/1586675.html