如果你能够很好地看看我正在这个项目上工作的项目(函数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语句派生返回值,是否真的无法获得正确的自动完成?
答案 0 :(得分:0)
正确的方法是使用@return getConfiguration
,getAuthentication
等创建所有这些get方法。