简化代码:
型号:
/**
* @return array{name:string,age:int,group:int}
*/
public function fetchStudent($id){
//fetch $id student from db and return array
(...)
}
我的控制器:
$students = $myStudentsModel->fetchStudent(123);
现在在控制器中,当我尝试在
$students
变量中使用代码完成时,returned array structure is automatically suggested as defined in PhpDoc.
然而,当我最终将它传递给视图时:
return $this->render('student', [
'student' => $student
]);
在视图文件中
$student
变量对它在控制器中知道的数组结构一无所知
我尝试了不同的 PhpDoc 标签(例如使用),将数组结构更改为 [#ArrayShape] 属性,从
$this->context
的视图中拉取参数 - 没有任何效果。一旦从控制器传递到视图,PhpStorm 就会“失去对变量的跟踪”。
你知道如何将文档和变量一起传递给视图吗?