2017-02-02 9 views
5

PhpStorm не распознает ядро ​​PHP. Например, он не распознает Exception, с подсказкой «Неопределенный класс« Исключение ».PhpStorm не распознает ядро ​​PHP

Я попытался сделать недействительным кеш безрезультатно. Я проверил установку коллеги, и у них, похоже, нет проблем, и после Ctrl+Clicking на их классе Exception он правильно связывается с Core_c.php, что не подходит для меня. Похоже, что мой PhpStorm не собирает плагин/библиотеку PHP, и я понятия не имею, почему.

Я попытался переустановить PhpStorm до последней версии, обновив все мои пакеты. Я даже сделал уверен, что php.jar плагин там на самом деле, и это:

/opt/phpstorm/plugins/php/lib/php.jar 

И плагин PHP включен в PhpStorm.

Еще одна проблема с PhpStorm заключается в том, что она не предлагает имена функций всякий раз, когда я их набираю. Помощь будет оценена, и я могу предоставить дополнительную информацию, если это необходимо.

+4

Вы используете пространства имен? Напишите «\» перед Exception (например, 'catch (\ Exception $ e)') –

+0

Да, и код, который мы используем, находится в общем приватном хранилище подрывников, который все в моей команде используют, и не имеет проблемы с Эта проблема. – driima

+0

И в окне инструмента _project_ вы не видите Внешние библиотеки-> PHP Runtime? –

ответ

1

Я считаю, что мы должны рассмотреть некоторые вещи здесь. Какую версию PHP вы используете. Не вся версия PHP поддерживает исключение, а пространство имен имеет значение, за исключением того, что вы используете диспетчер зависимостей, который может быть настроен с его пространством имен, но если вы строите с нуля, вы можете рассмотреть пространство имен и версию PHP

0

вы работаете с php ниже 7.1, Exception не будет работать, потому что он не реализует класс Throwable. Единственный способ для вашего исключения работать, если вы расширяете класс Exception. Что я также делаю, это поставить косую черту перед исключением. Мне нравится throw new \InvalidArgumentException. Надеюсь, это сработает для вас. Удачи