phpsform缺少属性';受保护属性上的s类型声明
我有一个类phpsform缺少属性';受保护属性上的s类型声明,php,laravel,phpstorm,Php,Laravel,Phpstorm,我有一个类\App\Console\Kernel,它是从供应商类\illumb\Foundation\Console\Kernel扩展而来的。在vendor类中有$commands受保护的属性,没有类型声明,因此在我自己的类中,我无法声明属性类型 protected $commands = [ // commands ... ]; 但是PhpStorm给了我下一个错误: 缺少属性的类型声明 检验信息:报告没有类型声明的属性 怎么办?从PHP7.4开始,您可以在属性上声明类型。所
\App\Console\Kernel
,它是从供应商类\illumb\Foundation\Console\Kernel
扩展而来的。在vendor类中有$commands
受保护的属性,没有类型声明,因此在我自己的类中,我无法声明属性类型
protected $commands = [
// commands ...
];
但是PhpStorm给了我下一个错误:
缺少属性的类型声明
检验信息:报告没有类型声明的属性
怎么办?从
PHP
7.4
开始,您可以在属性上声明类型。所以你可以像这样声明你的属性,把它硬输入一个数组
protected array $commands = [];
Laravel
与PHP
7.1.3
或7.2.5
向后兼容,这取决于Laravel
的版本,因此没有实现这一点,因此一些处理继承的类在模型上不能做到这一点,因为我记得filleble
,guarded
等。正如你所描述的,你的情况也是如此
PHPStorm
检查是一个建议,并没有破坏,它只是试图让您使用PHP
7.4
功能,如果您没有运行7.4
,我建议将PHPStorm
设置为PHP
的正确版本我建议将此报告给PHPStorm开发者的问题跟踪者:。但在此之前:您运行的IDE版本是什么?如果是2020.1或更高版本--请在2020.2 EAP build()中检查它,我使用的是2020.2,得到的问题与我在第二段中描述的相同:),但ide希望他键入它。“因此,某些处理继承和类似问题的类不能这样做”