如果你能好心地看看我在这一行正在做的项目(函数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 ApiMovies
*/
private function getMovieApi(){
return new ApiMovies($this);
}
但是,在尝试调用时,这不会按预期运行:
$client->api('movies')->[try_autocomplete]
但是,当我将getMovieApi的范围更改为公共并直接将其称为:
$client->getMovieApi()->[try_autocomplete]
它按预期工作,但是我真的很喜欢我的初始方法,因为这看起来更干净(至少对我来说)。如果返回值是从 switch 语句派生的,真的不可能获得正确的自动完成吗?
正确的方法是使用自己的@return创建所有这些获取方法:getConfiguration
,getAuthentication
等。