对象中的Typehint对象(stdClass)

时间:2015-08-27 19:48:13

标签: php oop

我有一个stdClass的实例。它的每个属性都是另一个类的实例,我该如何输入?

作为参考,如果它是一个数组,我可以使用

/**
 * @var Other\Class[]
 */
protected $holder;

然后我会得到$mainobj->holder['elem']的类型提示。如何用对象做到这一点?

我试过了:

/**
 * @var Other\Class{}
 */

没有运气。

2 个答案:

答案 0 :(得分:1)

你不能,而且我认为任何IDE都不可能实现这样做的方法,因为具有未知属性的对象,所有类型都相同,并不是非常" OOP喜欢"

  

它确实是实例的键值列表,但我更喜欢使用stdClass而不是数组 - 它更漂亮,并且它不需要我使用单引号来访问元素,这主要是为什么我这样做。我只需要弄清楚如何输入提示..

这意味着,您必须在键入少量字符或具有类型提示之间进行选择。关联数组是PHP中键值映射的完美结构。

答案 1 :(得分:0)

在PhpStorm我使用:

/** @var Other\Class $variableName */

对于类属性,我忽略了$variableName