1
class A {
static function model() {
$class = static::class;
return new $class;
}
}
class B extends A {
var $var;
}
我能告诉编辑代码B::model()
返回类型为乙调用者,而不是别人?我试过@return self
不行!
class A {
static function model() {
$class = static::class;
return new $class;
}
}
class B extends A {
var $var;
}
我能告诉编辑代码B::model()
返回类型为乙调用者,而不是别人?我试过@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工作,尽管语义应该在非静态上下文仅
如果你使用将静态变为公开我们可以做到这一点。 –