Symfony 4:参数的类型提示无效

Posted

技术标签:

【中文标题】Symfony 4:参数的类型提示无效【英文标题】:Symfony 4 : The type hint of parameter is invalid 【发布时间】:2020-01-24 15:50:17 【问题描述】:

我在尝试清除缓存并在 prod 服务器中安装 composer 时遇到此错误:

!!类中方法“addShow”中参数“show”的类型提示 “App\Entity\ !! 类型”无效。

这是 addShow 方法:

   public function addShow(Show $show): self
    
        if (!$this->shows->contains($show)) 
            $this->shows[] = $show;
            $show->setType($this);
        

        return $this;
    

【问题讨论】:

看起来很明智,只要您在同一命名空间中确实有一个 Show 实体(或有适当的 use 子句)。我希望 Show 实体不是新的且尚未部署? ^^ 【参考方案1】:

您需要指定作为参数传递的类。

你可以把所有的路径放到类中来指定类型:

public function addShow(App\Bundle\Show $show): self
 
     if (!$this->shows->contains($show)) 
         $this->shows[] = $show;
         $show->setType($this);
     

    return $this;
 

或添加:

use App\Bundle\Show; 

【讨论】:

以上是关于Symfony 4:参数的类型提示无效的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 4,Postgres - 在运行教义命令时`参数“client_encoding”的无效值:“utf8mb4”`

Symfony 5:/lucky/number 应用程序的 404 页面

Symfony:控制器类型提示 UserInterface

Symfony3 表单组件试图将 null 传递给 PHP 7 中的类型提示方法

无效的凭据消息登录 Symfony 4.4

纠正 PHPStan 在 Symfony 项目的 UserInterface 上抛出的类型提示错误