是否可以为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([
    '' => '@'
]))
上一篇:phpstorm代码格式化设置


下一篇:linux kernel中local_irq_disable()、local_irq_enable()代码解读