具有对象返回值的switch语句的正确PHPDoc

具有对象返回值的switch语句的正确PHPDoc,php,autocomplete,switch-statement,docblocks,Php,Autocomplete,Switch Statement,Docblocks,如果您能看一看我在这一行工作的项目(函数api()) IDE实际自动完成返回对象实例的方法的正确方法是什么?我现在使用它的方式返回所有可能返回对象中的所有方法 短;如何确保IDE识别由switch语句定义的返回对象的自动完成方法?我想知道IDE自动完成这项任务的正确方法是什么,以及最好的PHPDoc策略(它确实有一个接口,但暂时是空的) 更新1 正如第一条评论所暗示的,我试图将“电影”的案例调整为一个测试: case 'movies': return $this->getMovi

如果您能看一看我在这一行工作的项目(函数api())

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语句中派生出来的,那么真的不可能获得正确的自动完成吗?

正确的方法是使用它们自己的@return:
getConfiguration
getAuthentication
等创建所有这些get方法。

我正试图诚实地避免这种情况,但是我猜没有其他选择了,我会在几分钟内给这张照片,当我继续从事这个公共项目时:-)我在早上看到的早些时候错误地提到了它。感谢您的及时回复!当您直接调用该方法时,它会起作用,但是当您从switch语句(我更喜欢)获取对象时,它不会起作用。@wtfzdotnet,这是一种糟糕的做法。你试图创造一些类似上帝的方法。接受你的答案,因为这就是我最终要做的:-)