PhpStorm 9.0 IDE没有;无法识别包类


PhpStorm 9.0 IDE doesn't recognize package classes

'Braintree_Configuration::environment('sandbox');

这显示为"未定义类Braintree配置"

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

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

如果你能像我在这里对我的问题那样,为你的问题提供更多的背景,那么就可以稍微清楚地理解问题是什么了。


问题

尽管你的问题在于PhpStorm,但原因与作曲家和PhpStork无关。但Braintree并没有解释说,他们在每个类的末尾调用class_alias函数是为了让文档更容易阅读/使用。

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

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

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

The Fix

  1. 您可以轻松地修复的问题是用正确的命名空间/类替换所有别名"。这将在您的文件中,用Braintree'Configuration替换Braintree_Configuration
  2. 或者你可以等待或PhpStorm来支持这一点(正如LazyOne在我的问题中解释的那样),它将在本月底(2016年11月)进入PhpStork的下一个版本。你可以在这里查看这个bug的bug跟踪器
  3. 下载EAP(PhpStorm的早期访问程序)版本以立即访问此修复程序

无论你采取哪种方式来解决这个问题,都会解决你的问题。非常感谢LazyOne为我的问题向我解释了这一点。