看看这段代码示例:
class basetype {
public function method() {
return false;
}
}
class extendtype extends basetype {
public function methodb() {
return true;
}
}
class aa {
/**
* @var basetype
*/
protected $membera;
}
class bb extends aa {
public function __constructor() {
$this->membera = new extendtype();
}
public function dosomething() {
$this->membera->methodb();
}
}
在PHPStorm中进行编辑时,我收到警告:"方法方法b在类basetype"中找不到。我使用预先存在的代码库,不能改变基类。那么我该怎么办才能删除这个警告?
答案 0 :(得分:1)
您可以覆盖$membera
中的class BB
,并为其提供一个包含派生类型的新文档块。
class bb extends aa {
/**
* @var extendtype
*/
protected $membera;
public function __constructor() {
$this->membera = new extendtype();
}
public function dosomething() {
$this->membera->methodb();
}
}