我的代码中有类似以下的函数,它们返回对象(用于链接):
/**
* Set properties
*
* @param $name
* @param $value
*
* @return \Boka10\Page\MenuItemConfig
*/
public function __set($name, $value)
{
$this->$name = $value;
return $this;
}
我想将此功能转换为特征,因为,基本上,它一直都在重复使用。
我的问题是,return $this
行在文档部分出现了问题。在我的PHPDoc中,它说(在此示例中)@return \Boka10\Page\MenuItemConfig
。
我如何创建一个“全局”特征方法,其返回文档包含正确的类型转换?是否可以这样做,还是应该将__set
函数添加到每个类?
[我不确定是否可以解释我在这里遇到的问题;)如果所有这些对象都返回各自的实例,则在全局使用的特征中,@return
标记的内容究竟是什么?
经过一番挖掘和“黑客攻击”后,我检查了诗篇中的测试,发现以下似乎是评论这些情况的最佳方法: