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);
    
    //...
}