那么我就可以在IDE中使用自动补全了。
在Java
中,我们定义了一个像
class AppleTree{
Apple apple;
}
class Apple {
Color getColor() {}
}
所以当我输入apple.
时,IDE可以显示一个包含getColor()
方法的列表。
在PHP
中我们可以定义一个像
class AppleTree
{
public $apple;
}
class Apple
{
public function getColor() {}
}
如果你的目标是自动完成,你可以使用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;
}
}