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工作,儘管語義應該在非靜態上下文僅
如果你使用將靜態變爲公開我們可以做到這一點。 –