3
看看这个代码示例:PHP类型提示在派生类中
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类基本类型找到”。我使用预先存在的代码库并且不能更改基类。那么,为了消除此警告,我该怎么办?
为什么'@var basetype' $ membera变量?是的,$ membera是一种基类型,但这可能会让PHPStrorm感到困惑。只要删除它,看看你是否得到相同的错误。 –
我认为你误解了保证。过去它形成了phpstorm。在一天结束时,它只是一个提示,如果你的代码工作,这并不重要。 –
的可能的复制[PHPStorm型暗示基类的子类(http://stackoverflow.com/questions/32863786/phpstorm-type-hinting-subclasses-of-baseclass) – beardedlinuxgeek