如何让 PhpStorm 理解 Doctrine 存储库的类型
How to make PhpStorm understand the type of a Doctrine repository
我将 Symfony 3.4 与 Doctrine 一起使用,这就是我获得其中一个存储库的方式:
$members = $this->getDoctrine()->getRepository(Member::class)->getAllMembersForClient($client);
使用 PhpStorm 开发,IDE 不知道方法是什么 getRepository(Member:class)
returns 因此不提供自动完成功能。所以它向我显示了方法调用 getAllMembersForClient($client)
的错误
有什么好的方法可以解决这个问题吗?其他 Doctrine 用户如何处理这个问题?
最简单的方法是使用临时变量和类型提示:
/* @var $membersRepository MemberRepository */
$membersRepository = $this->getDoctrine()->getRepository(Member::class);
$members = $membersRepository->getAllMembersForClient($client);
仔细检查您是否安装了 'Symfony' 插件,因为它通常提供识别 getRepository(Member::class)
将 return 由注释定义的存储库的功能(或其他方式)到 PHPStorm.
您应该可以在菜单中找到它:设置 > 插件 > {搜索 'symfony'}。如果它不在列表中,'Browse Repositories...' 在插件列表下。
您必须为每个项目启用它(文件> 设置> 语言和框架> PHP> Symfony)并且还要安装 Php 注释插件。
我将 Symfony 3.4 与 Doctrine 一起使用,这就是我获得其中一个存储库的方式:
$members = $this->getDoctrine()->getRepository(Member::class)->getAllMembersForClient($client);
使用 PhpStorm 开发,IDE 不知道方法是什么 getRepository(Member:class)
returns 因此不提供自动完成功能。所以它向我显示了方法调用 getAllMembersForClient($client)
有什么好的方法可以解决这个问题吗?其他 Doctrine 用户如何处理这个问题?
最简单的方法是使用临时变量和类型提示:
/* @var $membersRepository MemberRepository */
$membersRepository = $this->getDoctrine()->getRepository(Member::class);
$members = $membersRepository->getAllMembersForClient($client);
仔细检查您是否安装了 'Symfony' 插件,因为它通常提供识别 getRepository(Member::class)
将 return 由注释定义的存储库的功能(或其他方式)到 PHPStorm.
您应该可以在菜单中找到它:设置 > 插件 > {搜索 'symfony'}。如果它不在列表中,'Browse Repositories...' 在插件列表下。
您必须为每个项目启用它(文件> 设置> 语言和框架> PHP> Symfony)并且还要安装 Php 注释插件。