例如:
class A {
static function model () {
$class = static::class;
return new $class;
}
}
class B extends A {
var $var;
}
我能告诉编辑器代码B::model()
返回的类型B是调用者而不是其他人吗?
我试过@return self
不工作!
您可以使用以下代码:
class A {
public function model () {
$class = static::class;
return new $class;
}
}
class B extends A {
/**
* @return B
*/
public function model(){
return parent::model();
}
var $var;
}
class A {
/**
* @return static
*/
static function model () {
$class = static::class;
return new $class;
}
}
class B extends A {
var $var;
}
您也可以尝试@return $this
,它将在PHPStorm中工作,尽管从语义上讲,它应该仅在非静态上下文中使用