PhpStorm 9.0 IDE无法识别包类

时间:2016-05-07 20:40:12

标签: php package composer-php phpstorm require

\Braintree_Configuration::environment('sandbox');

这显示为“Undefined class Braintree Configuration”

在包Braintree内部,即使它们存在于同一个类中,它也无法识别方法。

1 个答案:

答案 0 :(得分:0)

我最初看到你的问题,在寻找修复问题时,composer / phpstorm / braintree不知道Braintree类在哪里。

如果你给我的问题提供了更多的背景信息,就像我在here时所做的那样,那么理解问题是什么就显而易见了。

问题

虽然你的问题在于PhpStorm,但原因与作曲家和PhpStorm无关。但是Braintree没有解释他们在每个类的末尾调用class_alias函数来使他们的文档更容易阅读/使用一目了然。

你可以在这里看到你给出的例子:

https://github.com/braintree/braintree_php/blob/master/lib/Braintree/Configuration.php

class_alias('Braintree\Configuration', 'Braintree_Configuration');

修复

  1. 您可以轻松完成的修复是将所有别名替换为正确的命名空间/类。这将在您的文件中,将Braintree_Configuration替换为Braintree\Configuration
  2. 或者您可以等待或PhpStorm支持这一点(正如LazyOne在我的问题中解释的那样)将在本月底(2016年11月)进入下一版PhpStorm。您可以查看此错误here的错误跟踪器。
  3. 下载EAP(PhpStorm早期访问计划)版本,立即访问此修复程序。
  4. 无论哪种方式,你都可以解决这个问题。非常感谢LazyOne向我解释这个问题。