PhpDoc 未将变量从控制器传递到 Yii2 和 PhpStorm 中的视图

问题描述 投票:0回答:0

简化代码:

型号:

/**
* @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 就会“失去对变量的跟踪”。

你知道如何将文档和变量一起传递给视图吗?

yii2 phpstorm phpdoc
© www.soinside.com 2019 - 2024. All rights reserved.