Я установил последнюю версию (Oxygen) Eclipse для PHP. Но сейчас есть много аннотаций об ошибках, которые, я думаю, не должны быть.
Почти все они связаны с исключением:
throw new Exception('Exception message');
Сообщение аннотации во всплывающей подсказке выглядит так:
Исключение не может быть разрешено для типа
И подсказка предлагает мне несколько быстрых исправлений, которые используют класс Exception, объявленный в библиотеках, импортированных с Composer.
Это почему? Насколько я знаю, Exception по-прежнему является внутренним классом PHP (его не нужно импортировать). Я знаю, что должен использовать более конкретные классы Exception, но сейчас Exception работает для меня. И это не должно быть помечено как ошибка в Eclipse. Предыдущие версии не обнаружили это как ошибку. Кроме того, приложение работает без проблем.
Это ошибка? В противном случае, как отключить этот тип аннотации ошибок?
РЕДАКТИРОВАТЬ:
Другая неприятная проблема заключается в том, что помощник по коду не отображает никакую внутреннюю функцию php. Только функции, классы и методы, объявленные в моем приложении или в импортированных библиотеках. Например, если я наберу:
ул
Помощник по коду отображает классы из Doctrine, Geocoder и т. д., а также импортированные функции, такие как «strip_quotes», но ничего о strstr, str_pad, StrPos, так далее
Ты забыл о Пространства имен а также PSR-4?
throw new \Exception('Exception message');
Поэтому, когда вы используете класс, который должен быть автоматически загружен, вы должны объявить его через use
или вызвать его с полным путем (с пространством имен).
Если вы не хотите писать правильный код и это сообщение вас раздражает, то я уверен, что вы можете отключить это сообщение с помощью конфигурации Eclipse.
Других решений пока нет …