Eclipse PHP рассылает новые предупреждения с момента выхода новой версии 2020-06
Разрабатываю проект PHP в Eclipse. Перед обновлением до последней версии (2020-06) у меня не было предупреждений... С тех пор, как я сделал это обновление, оно рассылает мне спам с двумя предупреждениями.
Сначала речь идет о файлах классов, таких как MyClass, определенных в MyClass.inc.php: Eclipse говорит мне, что я должен назвать свой файл "MyClass.php" или назвать свой класс MyClass.inc ... -__________- Но я хочу продолжить называть их MyClass.inc.php!!!
Во-вторых, о пространствах имен... Я их не использую, и Eclipse говорит мне, что << Объявленное пространство имен "" не соответствует ожидаемому пространству имен "путь \ папка" >> (путь \ папка является примером для этого сообщения).
Я использую PHP 7.4... Я пробовал фильтры, но они не работают правильно (может быть, у меня плохо), и я не могу найти, как конкретно отключить эти предупреждения.
Спасибо за помощь, надеюсь, какое-то обновление исправит это, если это ошибка T_T
2 ответа
Новое правило проверки пространства имен, хотя и действует, но громоздко. Я думаю, что нет ничего необычного или неправильного в том, что пространства имен не совсем соответствуют структуре каталогов. Я работаю над приложением на основе мезцио, и это обычный случай, поскольку фреймворк использует композитор для автозагрузки.
После обновления в моем проекте нет файла, в котором Eclipse не предупреждал бы об этом, например: Объявленное пространство имен "App\Middleware" не соответствует ожидаемому пространству имен "project \ src \ App \ src \ Middleware".
Это предупреждение утверждает правду, но в любом случае этот случай должен быть поводом для предупреждения, на мой взгляд...
РЕДАКТИРОВАТЬ: Кажется, есть опция, которая позволяет изменить сообщаемый уровень или полностью отключить "проблему":
Настройки->PHP-> Проверка-> Ошибка / предупреждения: неожиданное имя пространства имен
Чтобы настроить собственные пути для пространств имен в Eclipse:
- Установите "Поддержка Composer инструментов разработки PHP (PDT)"
- Щелкните правой кнопкой мыши проект → Настроить → Добавить поддержку Composer.
- Должно открыться диалоговое окно конфигурации Composer.
- На вкладке "Автозагрузка" можно назначать пространства имен путям (относительно корня проекта)
Это создало бы
composer.json
в корне проекта PHP со следующим содержимым:
{
"name" : "my project",
"autoload" : {
"psr-4" : {
"some\\namespace" : "src/some/namespace"
}
}
}
Вы можете определить несколько сопоставлений из пространств имен в каталоги. См. документацию композитора для получения дополнительной информации.
Что касается другой вашей проблемы, думаю, я бы сдался и переместил все файлы из
.inc.php
к
.php
. Вероятно, в будущем у вас будет меньше проблем, если вы сделаете это.