在最近一些Eclipse更新和工作区更改后,我发现在PDT中验证PHP代码时出现了一些问题。在为我的项目重新添加所有外部库后,每个外部类都是可解析的,但对于PHP基类,如“DateTime”或“Exception”,我得到了一个错误/注解“DateTime cannot be resolved to a type”。PHP验证版本设置为7.1,但即使设置更低,也会产生错误。 如何修复此验证问题?
我的是有点不同,但值得一提的是这里的新人喜欢我。 我只是导入项目使用Import〉Projects from Folder or Archive。它只是一个文件夹不多不少。 你必须右击你导入的文件夹〉Configure〉Convert to PHP Project ... Exception上的错误已消失。
9条答案
按热度按时间j1dl9f461#
这里有许多可能的情况;我的是一个相当老的项目,有一个坏的buildpath配置。但是使用GUI我不能修复它。
在Eclipse关闭时向项目文件夹中的.buildpath文件添加下面的行,然后重新启动Eclipse,可以解决这个问题:
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
但是,另外,如果代码使用命名空间,则需要使用\DateTime而不是DateTime,或者在顶部添加'use DateTime';
(使用Eclipse PDT does not propose all php functions和https://bugs.eclipse.org/bugs/show_bug.cgi?id=502184深入研究其他问题的注解后找到的解决方案)
qcuzuvrc2#
如果项目的根文件夹中没有名为**.buildpath**的文件,则只需创建它。
该文件的内容应该类似于:
这将把所有文件夹指定为“源文件夹”。
这在**Eclipse Oxygen.3a版本(4.7.3a)**中运行良好
5jdjgkvh3#
@NextThursday提到了使用全局作用域,在类名前使用“\”。只有当你的代码已经在特定的命名空间中作用时,这才是重要的。
abithluo4#
我的是有点不同,但值得一提的是这里的新人喜欢我。
我只是导入项目使用
Import
〉Projects from Folder or Archive
。它只是一个文件夹不多不少。你必须右击你导入的文件夹〉
Configure
〉Convert to PHP Project ...
Exception
上的错误已消失。t2a7ltrp5#
我最近遇到了一个类似的情况,一个项目的代码在一个网络服务器上,服务器宕机了。当它被恢复时,挂载已经改变了,所以我的一些外部库找不到。下面是我如何修复它:
在我的项目属性-〉php-〉source paths-〉include path libraries选项卡中,我添加了外部代码的路径。然后我在我的项目上运行Build project,接着运行Refresh。警告消失了。
piztneat6#
在我的例子中,我使用了composer,然后,eclipse有一个选项来更新构建路径:
Composer -〉更新构建路径
des4xlb07#
我遇到了一个问题,在新项目中无法识别供应商的依赖项(来自
vendor
文件夹)。例如,如果我在代码中:它将带有红色下划线,并带有“* 导入...无法解析 "的注解,并且在导入之外,这些类带有“ 无法解析为类型 *”。
然而我已经有了
.buildpath
,但是如果仔细观察,您会注意到问题:没错,没有
vendor
文件夹的条目。添加缺少的条目:然后清理/构建项目马上就解决了这个问题。
tsm1rwdh8#
我最近在Eclipse 2021-06中第二天重新打开一个工作项目时遇到了这个问题...
我所做的就是禁用所有的验证器,从Problems视图中删除所有的错误,然后重新启用验证器。
编辑:我看到它创建了新文件:
.settings/org.eclipse.wst.validation.prefs
mv1qrgav9#
有时我们一个也没注意到失踪了“;“或“}”。因此,如果该问题以前从未在文件中出现过,请检查是否有新引入的语法错误。