Laravel 7.2 Illuminate\Foundation\Http\FormRequest 中的奇怪行为

Strange behavior in Laravel 7.2 Illuminate\Foundation\Http\FormRequest

我有一个项目具有相当标准的 Dev-on-Homestead 到暂存到生产工作流。都在使用 Laravel 7.2.2/Ubuntu 18.04/PHP 7.4.3

今天突然出现了一些表单请求。

Symfony\Component\ErrorHandler\Error\FatalError
Type of App\Http\Requests\CreateHighlight::$errorBag must be string (as in class Illuminate\Foundation\Http\FormRequest)

这是我们从 5.4 左右开始使用的命名 $errorBag

我将 $errorBag 更改为 protected string $errorBag='highlightCreate'; 并继续测试和部署。

同样的代码从登台错误日志中踢回:

staging.ERROR: Type of App\Http\Requests\CreateHighlight::$errorBag must not be defined (as in class Illuminate\Foundation\Http\FormRequest)

我检查了又检查又检查了第四次、第五次、第六次。这两种环境之间的一切似乎都是相同的,但我终究无法理解为什么会这样。它们是相同的错误,只是它们相互矛盾。

基于 FormRequest 显然 errorBag 似乎未定义为字符串。这显然似乎是您的本地文件有问题。尽管如此,errorBag 不应定义为字符串。