我应该使用@return自我,这个还是当前类?[已关闭]

2022-08-30 10:24:47

我有一个返回当前对象的方法,如何记录这一点?

/**
 * set something
 *
 * @return this
 */
public function setSomething(){
            // ...
    return $this;
}

或者我应该做或?@return self@return Current_Class_Name


为什么这个问题不是“主要基于意见”(应该重新打开):符合标准和IDE类型提示支持。


答案 1

目前有一个PHP标准建议(PSR)草案(PSR-5),建议使用@return $this以指示返回相同的实例。

$this,此类型应用到的元素与给定上下文中的当前类完全相同。因此,此类型是更严格的静态版本,因为此外,返回的实例不仅必须属于同一类,而且必须属于同一实例。

此类型通常用作实现 Fluent 接口设计模式的方法的返回值。

这种表示法目前被流行的IDE使用,如PhpStorm和Netbeans。


答案 2

@return Current_Class_Name肯定会工作,是我更喜欢的。

@return self也可以与某些程序一起工作。

@return this是坏的,因为这不是一个类型名。


推荐