我想在 Joomla 项目上使用 PhpStorm,但我不能在主 Joomla 类上使用“转到类声明”(Ctrl+B
)。例如 JFactory::getApplication()
。
但是在自定义插件中使用我自己的功能,该选项效果很好。
那里可能有什么问题?
- 我有 Joomla 支持插件。
- 我有 docblock 插件。
- 我试过使缓存无效。
最佳答案
遗留代码
您只需要它来处理遗留代码。随着命名空间的引入,大多数类名都发生了变化。
JFactory 是一个现在不存在的类——它已从核心中删除。为了兼容性,在运行时提供了一个类别名,因此 PHP 可以找到新的类。 PhpStorm(和其他 IDE)不知道这些别名(还有很多别名)。
stub
为了解决这个问题,Joomla 提供了一个 stub ,告诉 IDE 在哪里可以找到新类。就跑
$ php build/stubGenerator.php
这将在项目的根目录中生成一个包含正确信息的 stubs.php
文件。
新代码
对于新代码,不要使用那些旧的类名——而是使用它们的新名称。新类名使您的新代码更有可能在 Joomla! 上运行! 4.0.
关于joomla - PhpStorm - Joomla 项目中的未定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46964441/