当前情况:我的项目中有依赖项,我使用依赖项注入(inject)解决了这些依赖项。我想通过使用依赖注入(inject)容器 (DIC) 来简化我的依赖管理和延迟加载类,从而采取下一个逻辑步骤。
我看了Bucket , Pimple , 和 sfServiceContainer ,进行了一些测试,并非常欣赏 DIC 的工作方式。我可能会选择 Pimple,因为它的简单性和原始力量。如果我没有这个问题:
由于 DIC 提供的抽象,我使用的 IDE (PHPStorm) 不再理解我的代码中发生了什么。它不理解 $container['mailer'] 或 $sc->mailer 持有一个类对象。我也试过 Netbeans IDE:同样的问题。
这对我来说确实是个问题,因为我的 IDE 变得毫无用处。在处理类时,我不想在没有代码提示、自动完成和重构工具的情况下进行编程。而且我不希望我的 IDE 在验证代码时发现各种误报。
所以我的问题是:有没有人处理过这个问题并找到了解决方案?
最佳答案
您可以“手动”定义变量的类:
/** @var YourClassType $mailer */
$mailer = $container['mailer'];
在 PhpStorm(和 standards )中,使用两个星号并将数据类型写在变量名称之前。
可以不写变量名的数据类型(但不能写不带数据类型的名字)。
关于php - 如何让我的 PHP IDE 理解依赖注入(inject)容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395737/