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:

  1. Установите "Поддержка Composer инструментов разработки PHP (PDT)"
  2. Щелкните правой кнопкой мыши проект → Настроить → Добавить поддержку Composer.
  3. Должно открыться диалоговое окно конфигурации Composer.
  4. На вкладке "Автозагрузка" можно назначать пространства имен путям (относительно корня проекта)

Это создало бы composer.jsonв корне проекта PHP со следующим содержимым:

      {
    "name" : "my project",
    "autoload" : {
        "psr-4" : {
            "some\\namespace" : "src/some/namespace"
        }
    }
}

Вы можете определить несколько сопоставлений из пространств имен в каталоги. См. документацию композитора для получения дополнительной информации.

Что касается другой вашей проблемы, думаю, я бы сдался и переместил все файлы из .inc.phpк .php. Вероятно, в будущем у вас будет меньше проблем, если вы сделаете это.

Другие вопросы по тегам