我有一个返回当前对象的方法,我该如何记录它?
/**
* set something
*
* @return this
*/
public function setSomething(){
// ...
return $this;
}
或者我应该@return self
还是@return Current_Class_Name
?
答案 0 :(得分:35)
目前正在使用PHP Standards Recommendation (PSR) (PSR-5) that proposes @return $ this ,以表示返回了相同的实例。
$ this,此类型适用的元素与给定上下文中的当前类完全相同。因此,此类型是更严格的静态版本,此外,返回的实例不仅必须属于同一个类,还必须是同一个实例。
此类型通常用作实现Fluent Interface设计模式的方法的返回值。
这种表示法目前被流行的IDE使用,例如PhpStorm和Netbeans。
答案 1 :(得分:29)
@return Current_Class_Name
肯定会起作用,也是我喜欢的。
@return self
也可能适用于某些程序。
@return this
很糟糕,因为这不是类型名称。
答案 2 :(得分:5)
这个问题已经过时了,但我只想与大家分享!
对于使用 NetBeans 8.1 的至少 ..这种表示法使得代码自动完成在IDE中正常工作:
/**
* Method that returns $this instance (using late state binding)
* @return static
*/
public function iWillReturnMyself ( ) {
return $this;
}
对于NetBeans8.1用户,我说至少,但可能在旧版本和/或其他IDE上工作 =]