当前情况:我通过使用依赖注入解决了项目中的依赖项.我想通过使用依赖注入容器(DIC)来简化对依赖项和延迟加载类的管理,从而采取下一个逻辑步骤.
我看了Bucket,Pimple和sfServiceContainer,进行了一些测试,真的很欣赏DIC的工作方式.因为它的简单性和原始力量,我可能会选择Pimple.如果我没有这个问题:
由于DIC提供的抽象,我正在使用的IDE(PHPStorm)不再理解我的代码中发生了什么.它不明白$ container ['mailer']或$ sc-> mailer是否持有一个类对象.我也试过Netbeans IDE:同样的问题.
这对我来说真的是个问题因为我的IDE变得无用了.在处理类时,我不想在没有代码提示,自动完成和重构工具的情况下编程.我不希望我的IDE在验证代码时发现各种误报.
所以我的问题是:有没有人处理过这个问题并找到了解决方案?
我正在使用Eclipse PDT,我想使用Phpdoc注释一个局部变量.
我所看到的是,我可以使用@var或甚至
注释类的变量/属性@property,但这对于局部变量有何可能?
我怎么能这样做?
function foo(){
/** @var Stock $a */
$a->save();
}
Run Code Online (Sandbox Code Playgroud) 我有一个带有getter和setter的对象,但当我将它传递给函数或迭代这些对象的数组时,我正在丢失对该对象的intellisense.
例如:
...
$personA = new Person(..);
$age = $personA->getAge(); // intellisense works.
$personArray = array($personA, $personB, .. );
foreach($personArray as $aPerson){
$aPerson->getAge(); // no intellisense here
}
doSomething($personA);
function doSomething($person){
$person->getAge() // no intellisense here
...
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
我是否需要更改代码(转换等),缺少phpStorm设置?也许这不可能?
php ×3
phpstorm ×2
code-hinting ×1
function ×1
ide ×1
intellisense ×1
local ×1
phpdoc ×1
variables ×1