有没有一种方法可以应用新的 PhpDoc 而无需重新声明方法,例如我有一个类:
class GeneralContainer {
private $children;
public function __construct() {
$this->children = $this->CreateChildren();
}
protected function CreateChildren() {
return new GeneralChildren($this);
}
/**
* @return GeneralChildren
*/
public function Children() {
return $this->children;
}
}
按以下方式重写“CreateChildren”方法后:
class SpecializedContainer extends GeneralContainer {
protected function CreateChildren() {
return new SpecializedChildren($this);
}
/**
* @return SpecializedChildren
*/
public function Children() {
return parent::Children()
}
}
“Children”方法现在将返回“SpecializedChildren”对象。但为了向 NetBeans 提供提示,我还有义务重写“Children”方法并使用 PhpDoc 为其提供提示。有没有办法向 NetBeans 提供提示,告诉它基方法现在将返回其他类型,而无需实际重写该方法?
我认为没有一个简单的方法可以做到这一点。但是,您可以尝试使用@method http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.method.pkg.html标签例如
/**
* @method SpecializedContainer Children()
*/
class SpecializedContainer extends GeneralContainer {
protected function CreateChildren() {
return array();
}
}
您应该记住,@method 标记应该用于暗示魔术方法,而不是父类方法的新返回类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)