PHP类型在派生类中的PHPDoc中提示

时间:2015-10-02 15:21:16

标签: php phpstorm phpdoc type-hinting

看看这段代码示例:

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"中找不到。我使用预先存在的代码库,不能改变基类。那么我该怎么办才能删除这个警告?

1 个答案:

答案 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();
    }
}