PhpStorm - Joomla项目中的未定义类

Pav*_*o N 3 joomla undefined phpstorm

我想在Joomla项目上使用PhpStorm,但我不能Ctrl+B在主要的Joomla类上使用"Go to Class Declaration"().例如JFactory::getApplication().

但是我自己在自定义插件中的功能选项很有用.

这有什么不对吗?

  • 我有Joomla支持插件.
  • 我有docblock插件.
  • 我尝试了无效的缓存.

nib*_*bra 5

遗留代码

您只需要处理遗留代码.随着名称空间的引入,大多数类名都发生了变化.

JFactory现在是一个不存在的类 - 它已从核心中删除.为了兼容性,在运行时提供了类别名,因此PHP可以找到新类.PhpStorm(和其他IDE)不知道这些别名(还有更多的别名).

打桩

为了解决这个问题,Joomla提供了一个存根,告诉IDE在哪里找到新类.赶紧跑

$ php build/stubGenerator.php
Run Code Online (Sandbox Code Playgroud)

这将stubs.php在项目的根目录中生成一个具有适当信息的文件.

新代码

对于新代码,请不要使用那些旧的类名 - 而是使用新名称.新的类名更有可能使你的新代码在Joomla上运行!4.0.