我最近在 CakePHP 5 中创建了一个新项目,该项目与 PHP 8.1+ 兼容并接受命名参数。我刚刚烘焙了一个模型,在控制器中使用 PhpStorm (2023.1.2) 时,出现了突出显示的错误。
请注意,代码本身执行得很好,是 PhpStorm 称其为错误。
教程/烘焙控制器在编辑器中出现以下错误(
Components
是hasMany
关系):
public function view(?string $id = null): void
{
$unit = $this->Units->get($id, contain: ['Components']);
$this->set(compact('unit'));
}
PhpStorm 给我:
Unknown named parameter 'contain'
在 CakePHP 5 之前,语法是:
public function view(?string $id = null): void
{
$unit = $this->Units->get($id, ['contain' => ['Components']]);
$this->set(compact('unit'));
}
cakephp-ide-helper
/bake
问题已解决。尝试使用 composer update
进行更新并再次烘焙您的注释。
那么您的表类应该具有更新的注释,并且由于更新的注释,PhpStorm 错误应该消失。