PhpStorm - Joomla项目中的未定义类

时间:2017-10-26 21:54:36

标签: joomla phpstorm undefined

我想在Joomla项目中使用PhpStorm,但我不能使用"转到Class声明" (Ctrl+B)主要的Joomla课程。例如JFactory::getApplication()

但是我自己在自定义插件中的功能选项效果很好。

那里有什么不对?

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

1 个答案:

答案 0 :(得分:5)

旧版代码

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

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

成株

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

$ php build/stubGenerator.php

这将在项目的根目录中生成一个stubs.php文件,其中包含正确的信息。

新代码

对于新代码,请勿使用这些旧类名 - 请改用新名称。新的类名更有可能使你的新代码在Joomla上运行! 4.0。