Eclipse PDT: & lt; class & gt; не может быть преобразован в тип & quot; для классов php по умолчанию, таких как DateTime, Exception и т. д.

После некоторых недавних обновлений Eclipse и изменений рабочих областей я обнаружил некоторые проблемы с проверкой моего PHP-кода в PDT. После повторного добавления всех внешних библиотек для моих проектов каждый внешний класс был разрешаем, но для базовых классов PHP, таких как «DateTime» или «Exception», я получаю сообщение об ошибке / аннотацию «DateTime не может быть преобразован в тип». Версия PHP Validation установлена ​​на 7.1, но даже более низкие настройки создают ошибку.

Как я могу исправить эту проблему проверки?

4

Решение

Здесь много возможных ситуаций; у меня был довольно старый проект с неправильной конфигурацией пути сборки. Однако с помощью графического интерфейса я не смог это исправить.

Добавление следующей строки в файл .buildpath в папке проекта, когда eclipse было закрыто, и последующий перезапуск eclipse решает проблему:

<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

Однако, кроме того, если в коде используются пространства имен, нужно использовать \ DateTime вместо DateTime или, альтернативно, добавить «use DateTime» сверху;

(Решение найдено после более глубокого изучения комментариев других проблем с использованием Eclipse PDT не предлагает все функции PHP а также https://bugs.eclipse.org/bugs/show_bug.cgi?id=502184)

8

Другие решения

Если у вас нет файла с именем .buildpath в корневой папке вашего проекта, просто создайте его.

Содержимое файла должно быть примерно таким:

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
</buildpath>

Это назначит все ваши папки как «исходные папки».

Это прекрасно работает в Eclipse Oxygen.3a Release (4.7.3a)

2

Мой немного отличается, но стоит упомянуть здесь для новичка, как я.
Я просто импортирую проект, используя Import > Projects from Folder or Archive, Это просто папка не больше не меньше.
Вы должны щелкнуть правой кнопкой мыши на вашей импортированной папке> Configure > Convert to PHP Project ...
Ошибка на Exception ушел

1

@NextThursday упоминает об использовании глобальной области видимости, используя ‘\’ перед именем класса. Это важно только в том случае, если ваш код уже находится в определенной области имен.

0

Недавно я столкнулся с аналогичной ситуацией с проектом, код которого находится на сетевом сервере, а сервер отключился. Когда это было восстановлено, горы были изменены, так что некоторые из моих внешних библиотек не могли быть найдены. Вот как я это исправил:

В свойствах моего проекта-> php-> исходные пути-> вкладка библиотек путей я добавил пути к внешнему коду. Затем я запустил проект Build для моего проекта с последующим обновлением. Предупреждения ушли.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector