浇铸对象的PHPSTORM intellisense

浇铸对象的PHPSTORM intellisense,php,oop,intellisense,phpstorm,Php,Oop,Intellisense,Phpstorm,我有一个对象新闻,它有一些公共属性。我将此对象强制转换为数组并传递到要渲染的文件。我想知道是否有一种方法可以为news对象创建一个phpdoc,它被强制转换为一个数组,因此有一个intellisense。如果没有实现此功能,我可以在哪里向社区提供建议,因此他们考虑了此问题 一些示例代码: 型号: /** * @property string $content */ class News extends ActiveRecord { public $date; ... } 控制器:

我有一个对象新闻,它有一些公共属性。我将此对象强制转换为数组并传递到要渲染的文件。我想知道是否有一种方法可以为news对象创建一个phpdoc,它被强制转换为一个数组,因此有一个intellisense。如果没有实现此功能,我可以在哪里向社区提供建议,因此他们考虑了此问题

一些示例代码:

型号:

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

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

谢谢

更新
原来这个功能没有实现,所以我在jetbrains网站上创建了一个问题。此处链接:。如果您同意我的意见,请投票支持我的问题。

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


观看这些票证明星/投票/评论,可能还有一些相关的票证,以获得进展通知。

数组内容一点也不暗示,好吧。为什么不将其保留为对象而不是将其强制转换为数组?@deceze实际上你错了,创建一个多维数组,如下所示:$a=['b'=>'c'];并尝试访问它的密钥!哇,真管用!我被纠正了。不过,这似乎只在相同的范围内工作,因为没有定义这样的数据结构。如果将数组传递到其他位置,则无法预测它将包含什么内容,无法说它是一个数组。“所以,我怀疑有什么办法可以做你想做的事。”deceze这就是为什么我们有PHPDOC。如果某个密钥不存在,那么验证它应该是开发人员的问题,不是吗?我认为这是不可能做到的。我知道你可以注释神奇的方法,但我还没有看到有人在关联数组中注释可能的键。问的地方应该是JetBrains的支持。这些问题并不相同。创建了一个新问题。此处链接:。如果有人投赞成票,我会很高兴的。从什么时候开始使用@property来完成数组键?是否有PHPDoc文档的链接证实了这一点?在任何情况下:您已经填写了一张罚单,所以现在由PhpStorm开发人员决定他们计划如何处理它。
/**
 * @var News $news
 */
// here should go intellisense for property content and date when pressing ctrl+space
echo $news['content'];
...