Symfony 用户实体(PhpStorm 警告)
Symfony User entity (PhpStorm warning)
我有带有自动生成的 setUser() 方法的 Symfony 实体:
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
在控制器中,我使用内置的 getUser()
方法,即 returns UserInterface
对象。当我将 UserInterface
对象传递给 setUser()
方法时,PhpStorm 抱怨说:
Expected parameter of type '\App\Entity\User', 'object|\Symfony\Component\Security\Core\User\UserInterface' provided
我想编写没有此类 PhpStorm 警告的代码。我应该创建新的 User() 以将其传递给 setUser() 方法还是忽略它?
解决方案:(感谢 Jakumi 评论)
public function __invoke() {
/** @var $user App\Entity\User */
$user = $this->getUser();
$entity = new Entity();
$entity->setUser($user);
//...
}
我有带有自动生成的 setUser() 方法的 Symfony 实体:
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
在控制器中,我使用内置的 getUser()
方法,即 returns UserInterface
对象。当我将 UserInterface
对象传递给 setUser()
方法时,PhpStorm 抱怨说:
Expected parameter of type '\App\Entity\User', 'object|\Symfony\Component\Security\Core\User\UserInterface' provided
我想编写没有此类 PhpStorm 警告的代码。我应该创建新的 User() 以将其传递给 setUser() 方法还是忽略它?
解决方案:(感谢 Jakumi 评论)
public function __invoke() {
/** @var $user App\Entity\User */
$user = $this->getUser();
$entity = new Entity();
$entity->setUser($user);
//...
}