如何在intelephense中定义未定义的函数在VSCode中?

问题描述

Intelephense显示错误,例如“未知类型”和“未知函数”,但我不知道如何解决它们。

我的项目(安装TYPO3作曲器)有一个“公共”文件夹,这就是为什么我通过将其设置为intelephense.environment.documentRoot来相应地配置intelephense的./public选项的原因。

一个屏幕快照显示了项目的页面树,其中打开了一个部分,发生了错误

Project tree

当我打开“ function.PHP”时,智能机会通知我有关“未定义类型'aimeos \ Map'”的信息:

"Undefined type" error

地图是在地图中的function.PHP文件旁边定义的,其外观如下:

The Map Class

代码中还有其他地方,智能手机会告诉我有关“未定义的功能'map'”的信息:

Other code snippets with error message

我看了一下智能手机的“功能”模板,但是我不知道该放在哪里。也不用,如果我也必须定义一个类模板和/或其他任何东西。

这是我的VSCode智能配置:

VSCode config

可以看出,我尝试使用否定符“!”排除“ vendor / aimeos文件,但我认为这不是智能配置中的已知配置值。

我该怎么做才能使智力正常工作? 谢谢!

解决方法

即使在添加了适当的使用声明后,我还是收到了这些警告。对我来说,我必须打开从供应商文件夹中声明这些类型的文件,然后保存有问题的文件。这似乎以某种方式触发了电话类型解析机制并且警告消失了。一旦智能电话识别出它们,您就可以安全地关闭供应商文件夹中的这些文件。我尝试关闭 vs 代码并重新打开它,但仍然没有警告。您的里程可能会有所不同。