Php 如何在接口中注释这个stdClass属性?

Php 如何在接口中注释这个stdClass属性?,php,annotations,jetbrains-ide,Php,Annotations,Jetbrains Ide,我正在处理一个API,该API提供具有以下结构的数据: stdClass对象 ( [id]=>2592 [标题]=>Ακο∑τικά蓝牙μεΘκηΦόρτ∑ηSPM BN22-7S [功能]=>stdClass对象 ( [675]=>stdClass对象 ( [特征名称]=> [功能\u值\u选择]=>耳机 [feature_id]=>675 [变量id]=>1809 ) [676]=>stdClass对象 ( [feature_name]=>∑∑νΔεση [特征值选择]=>σρματα [f

我正在处理一个API,该API提供具有以下结构的数据:

stdClass对象
(
[id]=>2592
[标题]=>Ακο∑τικά蓝牙μεΘκηΦόρτ∑ηSPM BN22-7S
[功能]=>stdClass对象
(
[675]=>stdClass对象
(
[特征名称]=>
[功能\u值\u选择]=>耳机
[feature_id]=>675
[变量id]=>1809
)
[676]=>stdClass对象
(
[feature_name]=>∑∑νΔεση
[特征值选择]=>σρματα
[feature_id]=>676
[variant_id]=>1811
)
[162]=>stdClass对象
(
[特征名称]=>ρμα
[feature_value_sel]=>∧ενκό
[feature_id]=>162
[variant_id]=>1695
)
[27]=>stdClass对象
(
[特征名称]=>特征名称
[特征值选择]=>常规
[feature_id]=>27
[变量id]=>2864
)
)
)
我正在基于这个对象创建一个接口
MyInterface
,这样我就可以很容易地用自动完成来注释和处理对象,并确保我不会错过什么

例如,我可以在我的接口中注释它有这样一个属性

* @property string $title
稍后,当我处理数据时,我可以通过声明我的变量的类型是
MyInterface
with来获得自动完成和类型提示

/** @var MyInterface **/
我的问题是如何处理
$features
属性,它是stdClass的一个实例,而不是数组,但也是相同类型对象的集合。您可以看到它包含id作为属性,然后是另一个stdClass对象

我最初的想法是为Feature对象创建一个接口,然后将属性标记为

@property FeatureInterface[] $features
但在调试之后,我注意到结构与上面的类似,而不是数组。我仍然可以使用foreach循环来迭代它


这个用例可以使用注释吗?

我将创建实际的产品和功能类,以及一个从这些对象填充它们的服务,而不是创建一个界面来欺骗您的IDE。在我看来,这就像是来自Shopify等电子商务平台的json_解码结果。我将解码为关联数组,然后填充我自己的类。事实上,我以前在Shopify上做过同样的事情。