在PHP中,我们如何将字段定义为像JAVA一样的certian类的实例?

时间:2016-10-21 06:01:03

标签: php

然后我可以在IDE中使用自动完成功能。

Java中,我们定义了一个类

class AppleTree{
    Apple apple;
}

class Apple {
    Color getColor() {}
}

因此,当我输入apple.时,IDE可以显示包含getColor()方法的列表。

PHP中,我们可以定义类似

的类
class AppleTree
{
    public $apple;
}

class Apple
{
     public function getColor() {}
}

1 个答案:

答案 0 :(得分:2)

如果您的目标是自动完成,则可以使用DocBlocks。

class AppleTree
{
    /**
     * @var Apple
     */
    public $apple;
}

class Apple
{
    /**
     * @return Color
     */
    public function getColor() {}
}

但是,如果您想要实现限制除了给定类的实例之外的任何设置的行为,您必须使用类型提示,例如。

class AppleTree
{
    /**
     * @var Apple
     */
    protected $apple;

    public function setApple(Apple $apple)
    {
        $this->apple = $apple;
    }

    /**
     * @return Apple
     */
    public function getApple()
    {
        return $this->apple;
    }
}