相关疑难解决方法(0)

如何让我的PHP IDE了解依赖注入容器?

当前情况:我通过使用依赖注入解决了项目中的依赖项.我想通过使用依赖注入容器(DIC)来简化对依赖项和延迟加载类的管理,从而采取下一个逻辑步骤.

我看了Bucket,PimplesfServiceContainer,进行了一些测试,真的很欣赏DIC的工作方式.因为它的简单性和原始力量,我可能会选择Pimple.如果我没有这个问题:

由于DIC提供的抽象,我正在使用的IDE(PHPStorm)不再理解我的代码中发生了什么.它不明白$ container ['mailer']或$ sc-> mailer是否持有一个类对象.我也试过Netbeans IDE:同样的问题.

这对我来说真的是个问题因为我的IDE变得无用了.在处理类时,我不想在没有代码提示,自动完成和重构工具的情况下编程.我不希望我的IDE在验证代码时发现各种误报.

所以我的问题是:有没有人处理过这个问题并找到了解决方案?

php ide dependency-injection phpstorm

64
推荐指数
4
解决办法
2万
查看次数

在php中注释一个局部变量

我正在使用Eclipse PDT,我想使用Phpdoc注释一个局部变量.

我所看到的是,我可以使用@var或甚至 注释类的变量/属性@property,但这对于局部变量有何可能?

我怎么能这样做?

function foo(){
  /** @var Stock $a */
  $a->save();
}
Run Code Online (Sandbox Code Playgroud)

php variables local phpdoc

26
推荐指数
2
解决办法
2万
查看次数

如何在将对象传递给函数或迭代时使用phpStorm进行智能感知

我有一个带有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 intellisense function code-hinting phpstorm

12
推荐指数
2
解决办法
7431
查看次数