如何让 PhpStorm 理解 Doctrine 存储库的类型

Mat*_*der 1 php doctrine symfony phpstorm symfony-3.4

我将 Symfony 3.4 与 Doctrine 一起使用,这就是我获取存储库之一的方式:

$members = $this->getDoctrine()->getRepository(Member::class)->getAllMembersForClient($client);
Run Code Online (Sandbox Code Playgroud)

使用 PhpStorm 进行开发时,IDE 不知道该方法getRepository(Member:class)返回什么,因此不提供自动完成功能。所以它向我显示了方法调用的错误getAllMembersForClient($client)

有没有好的方法来解决这个问题?其他 Doctrine 用户如何处理这个问题?

Ali*_*man 5

仔细检查您是否安装了“Symfony”插件,因为它通常提供识别功能,以便getRepository(Member::class)将注释(或其他方式)定义的存储库返回给 PHPStorm。

您应该可以在菜单中找到它:设置> 插件> {search for 'symfony'}。如果它不在列表中,请在插件列表下“浏览存储库...”。

您必须为每个项目启用它(文件> 设置> 语言和框架> PHP> Symfony)并安装 Php Annotation 插件。