是否有标准方法来键入提示stdClass上存在的属性?
例如,我使用一些API并获得JSON响应.然后我用json_decode解析它,但我希望IDE知道这个stdClass对象有什么属性.
我尝试这样做:
$obj = json_decode($jsonResponse);
/** @var $obj \stdClass */
/** @property String $obj->prop */
但PhpStorm仍然不承认$obj有财产道具.
反正有没有让这个工作?
解决方法:
您可以创建一个将继承stdClass并将描述属性的类.响应对象可能会转换为它.例如:
/**
* @property string $prop
*/
class SomeClass extends stdClass
{
}
$obj = json_decode($jsonResponse);
$obj = (SomeClass)$obj;