PHPSTORM 智能感知铸造对象


PHPSTORM intellisense for casted object

我有一个对象News它有一些公共属性。我正在将此对象转换为数组并传递给要渲染的文件。我想知道有没有办法为新闻对象创建一个phpdoc,它被强制转换为数组,所以有一个智能感应。如果未实现此功能,我可以在哪里向社区提出建议,因此他们考虑了这个问题?

一些示例代码:

型:

/**
 * @property string $content
 */
class News extends ActiveRecord {
  public $date;
  ...
}

控制器:

...
$news = new News();
...
$news = (array)$news
$this->render('news_page',compact('news'));
...

视图:

/**
 * @var News $news
 */
// here should go intellisense for property content and date when pressing ctrl+space
echo $news['content'];
...

谢谢!

更新
事实证明,此功能没有实现,所以我在jetbrains网站上创建了一个问题。链接在这里: https://youtrack.jetbrains.com/issue/WI-26323.如果您同意我的观点,请投票支持我的问题。

您不能通过 PHPDoc 提示自定义数组键(无论是键名本身还是值类型)——目前不支持。

  • https://youtrack.jetbrains.com/issue/WI-3423
  • https://youtrack.jetbrains.com/issue/WI-5304

观看这些票证(加星/投票/评论)以及可能的一些相关工单,以获得进度通知。