PHPDoc扩展类的不同返回类型

PHPDoc扩展类的不同返回类型,php,phpstorm,phpdoc,Php,Phpstorm,Phpdoc,我已经创建了自己的DB模型结构,类似于Laravel。我一直面临着两个问题 我有一个模型类,我的所有模型都对其进行了扩展。例如,我的User类扩展了Model。我想返回被扩展的类的get()方法返回类型 这可能吗 Class Model extends DB { /** * @return AnyClassThatExtended */ function get() { } } Class User extends Model { f

我已经创建了自己的DB模型结构,类似于Laravel。我一直面临着两个问题

我有一个
模型
类,我的所有模型都对其进行了扩展。例如,我的
User
类扩展了
Model
。我想返回被扩展的类的
get()
方法返回类型

这可能吗

Class Model extends DB {
    /**
     * @return AnyClassThatExtended
     */
    function get()
    {
    }
}

Class User extends Model {
    function test() {
        $user->get(); // I want it to return User type of object
    }
}
你应该使用

private static $instance;

/**
 * return static
 */
public function get() {
    if (is_null(self::$instance)) {
        self::$instance = new static();
    }

    return self::$instance;
}
因为您正在返回您当前所在的班级(如果我理解正确的话)


可能是PHPStorm不识别它

我在PHPStorm上试用过,正如您所说,它不识别。它认为我正在返回一个模型对象。Atom工作得很顺利。所以看来PHPStorm没有其他方法了。谢谢你的帮助
@return static
应该可以完成这项工作。它工作得很好--请自己看看:。如果没有,可能是因为您的代码,那么提供更好的代码示例。