自 2020-06 新版本以来,Eclipse PHP 发送新警告
Eclipse PHP spams new warnings since new 2020-06 version
我在 Eclipse 中开发了一个 PHP 项目。在更新到上一个版本(2020-06)之前,我以前没有任何警告...自从我进行了此更新后,它向我发送了两个警告。
首先是关于 class 文件,例如 MyClass.inc.php 中定义的 MyClass :Eclipse 说我必须将我的文件命名为“MyClass.php”或将我的文件命名为 class MyClass.inc ... -__________- 但我想继续命名它们 MyClass.inc.php !!!
其次是关于名称空间...我不使用它们,Eclipse 告诉我 << 声明的名称空间“”与预期的名称空间“path\folder”不匹配 >> (path\folder 是这个 post) 的一个例子。
我使用 PHP 7.4...我试过过滤器,但它不能正常工作(可能是我的问题),而且我没有找到具体禁用此警告的方法。
感谢您的帮助,如果它是一个错误,我希望一些更新能够修复它 T_T
新的命名空间验证规则虽然有效,但很麻烦。我想拥有与目录结构不完全匹配的名称空间并没有什么不寻常或错误的。
我正在开发一个基于 mezzio 的应用程序,这是常见的情况,因为该框架使用 composer 进行自动加载。
升级后,我的项目中没有 Eclipse 不会发出警告的文件,例如:声明的命名空间“App\Middleware”与预期的命名空间“[=”不匹配26=]".
这个警告说的是事实,但无论如何,我认为这个案例应该是警告的理由...
编辑:
似乎有一个选项允许更改报告的级别或完全静音“问题”:
首选项->PHP->验证->Error/Warnings:意外的命名空间名称
在 Eclipse 中为命名空间配置自定义路径:
- 安装“PHP 开发工具 (PDT) Composer 支持”
- 右键单击项目 → 配置 → 添加 Composer 支持
- Composer 配置对话框应打开
- 在“自动加载”选项卡中,您可以将命名空间分配给路径(相对于项目根目录)
这将在 PHP 项目的根目录中创建一个 composer.json
,内容如下:
{
"name" : "my project",
"autoload" : {
"psr-4" : {
"some\namespace" : "src/some/namespace"
}
}
}
您可以定义多个从命名空间到目录的映射。有关详细信息,请参阅 composer documentation。
对于您的其他问题,我想我会妥协并将所有文件从 .inc.php
移动到 .php
。如果你这样做,你将来可能会遇到更少的问题。
我在 Eclipse 中开发了一个 PHP 项目。在更新到上一个版本(2020-06)之前,我以前没有任何警告...自从我进行了此更新后,它向我发送了两个警告。
首先是关于 class 文件,例如 MyClass.inc.php 中定义的 MyClass :Eclipse 说我必须将我的文件命名为“MyClass.php”或将我的文件命名为 class MyClass.inc ... -__________- 但我想继续命名它们 MyClass.inc.php !!!
其次是关于名称空间...我不使用它们,Eclipse 告诉我 << 声明的名称空间“”与预期的名称空间“path\folder”不匹配 >> (path\folder 是这个 post) 的一个例子。
我使用 PHP 7.4...我试过过滤器,但它不能正常工作(可能是我的问题),而且我没有找到具体禁用此警告的方法。
感谢您的帮助,如果它是一个错误,我希望一些更新能够修复它 T_T
新的命名空间验证规则虽然有效,但很麻烦。我想拥有与目录结构不完全匹配的名称空间并没有什么不寻常或错误的。 我正在开发一个基于 mezzio 的应用程序,这是常见的情况,因为该框架使用 composer 进行自动加载。
升级后,我的项目中没有 Eclipse 不会发出警告的文件,例如:声明的命名空间“App\Middleware”与预期的命名空间“[=”不匹配26=]".
这个警告说的是事实,但无论如何,我认为这个案例应该是警告的理由...
编辑: 似乎有一个选项允许更改报告的级别或完全静音“问题”:
首选项->PHP->验证->Error/Warnings:意外的命名空间名称
在 Eclipse 中为命名空间配置自定义路径:
- 安装“PHP 开发工具 (PDT) Composer 支持”
- 右键单击项目 → 配置 → 添加 Composer 支持
- Composer 配置对话框应打开
- 在“自动加载”选项卡中,您可以将命名空间分配给路径(相对于项目根目录)
这将在 PHP 项目的根目录中创建一个 composer.json
,内容如下:
{
"name" : "my project",
"autoload" : {
"psr-4" : {
"some\namespace" : "src/some/namespace"
}
}
}
您可以定义多个从命名空间到目录的映射。有关详细信息,请参阅 composer documentation。
对于您的其他问题,我想我会妥协并将所有文件从 .inc.php
移动到 .php
。如果你这样做,你将来可能会遇到更少的问题。