是否为stdClass属性提供类型提示?

时间:2018-10-22 09:20:08

标签: php phpstorm type-hinting

是否存在一种标准的方式来提示stdClass上存在的属性?

例如,我使用一些API并获得JSON响应。然后,我用json_decode对其进行解析,但是我希望IDE知道此stdClass对象具有哪些属性。

我试图这样做:

$obj = json_decode($jsonResponse);
/** @var $obj \stdClass */
/** @property String $obj->prop */

但是PhpStorm仍然无法识别$obj具有属性prop

反正有这个功能吗?

1 个答案:

答案 0 :(得分:5)

您可以创建一个继承stdClass并描述属性的类。响应对象可能会转换为它。例如:

/**
 * @property string $prop
 */
class SomeClass extends stdClass
{
}

$obj = json_decode($jsonResponse);
$obj = (SomeClass)$obj;