如果您愿意看一下我在这一行正在从事的项目(函数 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 语句派生的,真的不可能获得正确的自动完成吗?