如何在PhpStorm中为EntityRepository添加返回类型?

问题描述 投票:0回答:1

我有一堆存储库,我经常使用像

findOneBySomeField
findByAnotherField
这样的方法。这些方法不存在于存储库类中,但 Doctrine 可以正确使用它。

问题在于:由于存储库类中不存在这些方法,因此没有参数和返回类型的类型提示。

我尝试添加一些 PHPSTORM_META,如下所示:

namespace PHPSTORM_META {
    override(
        App\Repository\MyEntityRepository::findOneByCode(0), map([
            '' => 'App\Entity\MyEntity'
        ])
    );
}

但这行不通。而且,即使我可以让它工作,我也需要手动添加

findBy...
findOneBy...
所有可能的方法。但我在某些实体中有多个字段(在某些实体中超过 50 个),所以我需要太多
override
指令。而且我仍然没有看到任何方法为参数添加类型提示。理论上是可能的,因为如果我的实体中有
string $code
,我应该有
findOneByCode(string $code)
(参数类型必须与实体字段类型相同)等等。

有没有简单的方法可以做到这一点?

php symfony doctrine phpstorm
1个回答
0
投票

您可以使用 PHPStan 的 Doctrine 扩展

© www.soinside.com 2019 - 2024. All rights reserved.