luc*_*wxp 40 php documentation doc phpdoc
我有一个返回当前对象的方法,我该如何记录?
/**
 * set something
 *
 * @return this
 */
public function setSomething(){
            // ...
    return $this;
}
或者我应该做的@return self还是@return Current_Class_Name?
g .*_*g . 39
目前处于草案(PSR-5)的PHP标准建议书(PSR)建议使用 @return $,以表示返回相同的实例.
$ this,此类型适用的元素与给定上下文中的当前类完全相同.因此,此类型是更严格的静态版本,此外,返回的实例不仅必须属于同一个类,还必须属于同一个实例.
此类型通常用作实现Fluent Interface设计模式的方法的返回值.
这种表示法目前被流行的IDE使用,例如PhpStorm和Netbeans.
Ria*_*iaD 30
@return Current_Class_Name 肯定会工作,是我喜欢的.
@return self 某些程序也可以正常工作.
@return this 很糟糕,因为这不是一个类型名称.
/**
 * set something
 *
 * @return self
 */
public function setSomething(){
            // ...
    return $this;
}
您可以使用"self"类型作为@param或@return ..
PHPDoc建议'self'在对象中引用self.
资料来源:http://www.phpdoc.org/docs/latest/references/phpdoc/types.html
小智 6
这个问题已经很老了,但我只是想与大家分享!
至少对于使用NetBeans 8.1的那些..这种表示法使代码自动完成在IDE中很好地工作:
/**
 * Method that returns $this instance (using late state binding)
 * @return static
 */
 public function iWillReturnMyself ( ) {
     return $this;
 }
我对NetBeans8.1用户说至少,但也可以在旧版本和/或其他IDE上工作=]