适用于具有对象返回值的switch语句的PHPDoc

时间:2013-11-02 16:03:18

标签: php autocomplete switch-statement docblocks

如果你能够很好地看看我正在这个项目上工作的项目(函数api())。

https://github.com/wtfzdotnet/php-tmdb-api/blob/develop/lib/Tmdb/Client.php#L79

IDE实际自动完成返回对象实例的方法的正确方法是什么?我正在使用它的方式现在返回所有可能返回对象的所有方法。

短;如何确保IDE识别返回对象的自动完成方法是由switch语句定义的?我想知道IDE自动完成这个的正确方法是什么,以及最好的PHPDoc策略(它确实有一个接口,但暂时是空的)。

更新1

正如第一条评论建议我试图将“电影”的案例调整为:

case 'movies':
    return $this->getMovieApi();

并添加了

/**
 * @return Api\Movies
 */
private function getMovieApi(){
    return new Api\Movies($this);
}

但是这在试图打电话时没有按预期运作:

$client->api('movies')->[try_autocomplete]

然而,当我将getMovieApi的范围更改为public并将其直接调用为:

$client->getMovieApi()->[try_autocomplete]

它按预期工作,但我真的更喜欢我的初始方法,因为这看起来更干净(至少对我来说)。如果从switch语句派生返回值,是否真的无法获得正确的自动完成?

1 个答案:

答案 0 :(得分:0)

正确的方法是使用@return getConfigurationgetAuthentication等创建所有这些get方法。