Phpstorm language framework нет php

Обновлено: 07.07.2024

Laravel - это замечательный фреймворк, который имеет широкий функционал, и много реализаций, облегчающих жизнь программисту. Однако, обратной стороной этого удобства является сложность в чтении кода для IDE. В результате чего, IDE не может проанализировать код должным образом, и построить полное автодополнение кода. Потому, для того, чтобы было удобно работать с Laravel в PHPStorm-е, его необходимо дополнительно настроить.

В этой статье будет рассмотрено:

Предварительная настройка IDE

В каждом новом проекте, который я начинаю в PHPStorm-е, начальные шаги одинаковые: выбор интерпретатора PHP, указание пути к composer-у, NodeJs и JavaScript

Выбор версии PHP и настройка пути к интерпретатору

Настройка версии PHP и интерпретатора находится на вкладке File | Settings | Languages & Frameworks | PHP

В открывшемся окне, будет доступно 2 изменяемые графы:
PHP Language Level - это версия PHP, по которой IDE будет проверять синтаксис вами написанного кода. И в случае несоответствия синтаксису выбранной версии, прямо в IDE вам будет подсвечена ошибка.
CLI interpriter - это путь к интерпретатору PHP.
Если вы ранее не добавляли интерпретаторы, то вам ничего не будет доступно, потому, сейчас его нужно добавить, нажав, справа от выбора интерпретатора, кнопку поиска (2)

После нажатия по (2) кнопке, то появится меню:

Нажав на (1) кнопку, будет предложено на выбор 2 варианта:
From Docker, Vagrant, VM, Remote - в случае, если вы хотите указать удалённый интерпретатор (Docker, Vagrant)
Local Path to Interpreter - чтобы указать локальную версию (как в моём случае)

А в PHP executable нужно прописать путь к php.
Я пользуюсь Laragon, потому мой путь выглядит PATH_TO_LARAGON\bin\php. \php.exe ,

В случае OpenServer, путь будет выглядеть примерно: PATH_TO_OS\modules\php\. \php.exe

Указание путь к composer

Путь к composer-у указывается на вкладке File | Settings | Languages & Frameworks | PHP | Composer

composer

В этом меню нужно переключить опцию в composer.phar, и в этой графе (1) указать путь к исполняемому файлу composer.

И выберите итерпретатор, созданный шагом ранее

У меня, путь к composer-у выглядит так: E:\laragon\bin\composer\composer.phar

NodeJs

NodeJs, его пакетный менеджер, NPM, будет хорошим помощником в подключении всех фронтенд-библиотек. Потому, во-первых, нужно указать путь к самому NodeJs, а во вторых, нужно настроить всё так, чтобы синтаксис Vue-шаблонов был понятен для самой IDE.

node

В меню File | Settings | Languages & Frameworks | Node.js and NPM, аналогично предыдущим пунктам, нужно указать путь к nodeJs (после его указания, автоматически должен подключиться NPM)

JavaScript

JS

Ввиду того, что Vue использует новые ES6 синтаксис для написания шаблонов, то необходимо в самой IDE переключить на поддержку этого синтаксиса на вкладке File | Settings | Languages & Frameworks | JavaScript, выбрав ECMSScript 6

Настройка Laravel

Теперь, осталось провести некоторые настройки, относящиеся к Laravel.

Установка Laravel плагина

laravel-pugin

Теперь нужно установить Laravel-плагин в PHPStorm. Плагины устанавливаются на вкладке File | Settings | Plugins.
Для поиска плагина, в строку поиска нужно вписать laravel

И выбрать интересующий нас Laravel Plugin, который добавляет автодополнение в маршрутах, видах, конфигах.

laravel-pugin-enable

Когда он будет установлен, появится новая вкладка File | Settings | Languages & Frameworks | PHP | Laravel

На которой, нужно поставить галочку на Enable plugin for this project

Настройка VueJs

vue

Для VueJs, аналогично Laravel, так же существует свой отдельный плагин. Чтобы его установить, нужной на вкладке File | Settings | Plugins найти Vue и установить

Подключение нужных библиотек, последние шаги настройки

Сейчас мы уже имеем проект, с которым можно работать. Однако, по-прежнему, нету автокомплита методов в маршрутах, миграциях, Eloquent, ввиду особенной структуры фреймворка. Для решения этой проблемы, нужно скачать библиотеку laravel ide-helper, которая сгенерирует дополнительные мета-файлы для IDE.

Установка IDE-helper

composer-ide-helper

Для установки IDE-helper-а, воспользуемся composer-ом (Tools > Composer > Manage Dependencies)
И в строку поиска, введём: barryvdh/laravel-ide-helper

Установив эту библиотеку, нужно добавить в файл config/app.php, в массив providers: Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class

На этом этапе, уже можно запустить ide-helper, и получить желаемый эффект автокомплита. Но, сделав так в данный момент, эта библиотека возьмёт дефолтные настройки, в которых отключена генерация Fluent-методов. Потому, прежде, скопируем конфиг ide-helper.php с папки vendor/barryvdh/laravel-ide-helper/config, в локальную папку config.
И уже в локальном файле, нужно изменить значение include_fluent на true .

ide-helper-result

Теперь достаточно выполнить команду artisan ide-helper:generate
После чего, появится новый файл _ide_helper.php , который PHPStorm успешно проанализирует, и мы получим желаемое автодополнение:

Автодополнение команд artisan

Сложно заполнить все команды artisan, а постоянно отвлекаться на поиск команд не продуктивно. Благо, в PHPStorm предусмотрена возможность созданий автодополнения команд (File | Settings | Tools | Command Line Tool Support).
Artisan - это команда, основана на консоле symfony, зная это, добавим команду:

Откроется меню, в котором нужно указать:
alias - с какого имени начинаются команды (можно указать a , и вызывать a make:controller .
Path to PHP executable - наш ранее добавленный интерпретатору
Path To Script - путь к artisan-файлу проекта

В результате, должны получить информацию о том, что команды добавлены:

И сейчас, если открыть консоль: Tools > Run Commands

И все команды, которые начинаем с artisan будут подсвечены возможным дополнением

Резюме

Итого, в этой статье была рассмотрена настройка laravel в phpstorm, установка плагинов, так же было показано, как работать с Laravel IDE-helper, настраивать composer и включать автодополнение phpstorm artisan команд

А ещё, рекомендую просмотреть статью, в которой я показываю процесс установки и настройки крутой темы оформления Monokai для PHPStorm, которая тебе точно придётся по вкусе, дорогой разработчик.

Локально установить PHP и использовать в PhpStorm на Mac OS

При разработке можно установить PHP и указать путь к нему в PhpStorm, чтобы выполнять скрипты непосредственно в IDE и отлавливать мелкие ошибки. Это ускорит работу, так как позволит просматривать результат выполнения скриптов не открывая браузер.

Устанавливать PHP мы будем с помощью менеджера пакетов Homebrew, потому, что это удобно и быстро.

Инструкцию по установке Homebrew смотрите здесь.

Как установить PHP на компьютер?

Установка PHP на Mac OS

Откройте терминал и напишите команду:

Установка PHP на Windows

На странице загрузки в разделе PHP 7.4 кликните ссылку Download source code, чтобы скачать и установить пакет.

Как подключить PHP к PhpStorm?

После того, как свежая версия PHP установлена, перейдите в настройки PhpStorm в раздел Languages & Frameworks > PHP:

Локально установить PHP и использовать в PhpStorm на Mac OS

Выберите версию 7.4 в графе PHP language level. Если нажать многоточие в графе CLI Interpreter, тогда откроется окно добавления версий PHP:

Локально установить PHP и использовать в PhpStorm на Mac OS

Локально установить PHP и использовать в PhpStorm на Mac OS

Далее укажите имя для данного интерпритатора в графе Name.

Локально установить PHP и использовать в PhpStorm на Mac OS

Имя ни на что не влияет и служит для того, чтоб вы различали подключенные интерпретаторы.

В графе PHP Executable укажите путь(для Mac OS):

в Windows укажите путь к папке, в которую вы установили пакет.

Далее нажмите круглые стрелочки справа от данного поля, чтобы обновить данные.

Теперь в графе CLI Interpreter выберите только что добавленную версию PHP.

Как выполнить PHP скрипт в PhpStorm?

Если кликнуть правой кнопкой мыши по файлу в выпадающем меню, то можно выбрать пункт Run > <Имя файла>(PHP Script):

Локально установить PHP и использовать в PhpStorm на Mac OS

В случае, если вы кликните по данному пункту, то скрипт будет выполнен. Если подразумевался какой-либо вывод вы увидите результат в открывшимся диалоговом окне.

Для повторного выполнения скрипта можно использовать кнопки Run:

Локально установить PHP и использовать в PhpStorm на Mac OS

В очередной раз споткнувшись о собственную забывчивость, решил накидать небольшую заметку о том, как настроить отладку PHP в докере через xdebug для IDE PhpStorm. Кто-то правильно скажет, что в сети полно статей на данную тему, однако, все они не смогли спасти меня от совершения пары ошибок на которые я уже наступал ранее.

Итак, имеем следующую конфигурацию: на нашем Linux хосте есть IDE PhpStorm 2020.3, докер образ PHP версии 8.0.0, настраиваемый в контейнере через docker-compose и установленное в том-же образе расширение для отладки xdebug версии 3.0.1. Мы хотим заниматься отладкой в любимой IDE отлавливая вызовы как через веб-браузер, так и через контейнер, к примеру перехватывая из него запуски каких-либо CLI скриптов.

Первым делом читаем вот эту заметочку о том, как нам заставить работать отладку для скриптов запускаемых на удаленной стороне. Осмыслив суть, добавляем в настройку нашего контейнера с образом PHP (у меня настройки в docker-compose.yml) следующую строчку с переменной окружения PHP_IDE_CONFIG:

Здесь важно запомнить первый момент, что далее, при настройке PhpStorm, мы должны в точности повторить имя удаленного сервера для связки (маппинга) наших локальных исходников с исходниками на сервере. В нашем случае это имя задано как Docker. Это важный момент, не промахнитесь с регистром.

Далее, через php.ini, настраиваем xdebug, используя укороченный синтаксис от третьей версии. У меня настройки выглядят вот так:

Здесь скрыт второй важный момент, который заключается в том, что необходимо правильно указать параметр xdebug.client_host, который сообщает нашему расширению xdebug на каком адресе нас ждет слушатель для передачи отладочных данных. В моем случае, так как в контейнере я использую networking по умолчанию (т.е. у меня попросту нет настраиваемой секции networks) это будет host.docker.internal, который для Linux по умолчанию поднимается на интерфейсе 172.17.0.1. Это второй, очень важный момент.

Дальше, проще. Проходимся по стандартному пути настройки PhpStorm. Первым делом настраиваем PHP сервер, с которым мы будем общаться, вспоминая, что он находится на удаленной среде и для нашей IDE мы назвали его Docker. Таким образом, заходим в настройки PhpStorm (Ctrl+Alt+S) и по пути Languages & Frameworks > PHP > Servers добавляем вот такую конфигурацию:

Настройка PHP сервера

В поле Name вводим настроенное ранее через PHP_IDE_CONFIG имя нашего сервера, т.е. Docker (см. п. 1). Поле Host содержит имя хоста, у меня оно не заполнено и поэтому используется символ подчеркивания (см. п. 2). Пункт 3 является важной составляющей связки локальных файлов с файлами сервера. Я связал свои локальные файлы, расположенные в /home/___/projects/www/___/www с файлами в контейнере, расположенными по пути /var/www/html.

Следующим шагом мы должны настроить PHP CLI интерпретатор, через который мы собственно и запускаем наши скрипты. Естественно он расположен в нашем PHP контейнере и в общем случае вся настройка, по пути Languages & Frameworks > PHP > CLI Interpreters будет выглядеть вот так (выбираем создание From Docker, . Docker compose):

Настройка PHP CLI интерпретатора

Здесь мы даем произвольное осмысленное имя нашему интерпретатору (см. п. 1). В п.2 выбираем наш созданный ранее сервер Docker. Далее, в п.3 выбираем расположение конфигурационного файла docker-compose.yml и п.4 уточняем используемый сервис с PHP (у меня в docker-compose.yml он называется php). Если контейнер запущен и мы правильно всё выбрали, то в разделе General должна появиться информация о рабочем PHP окружении (см. п. 5).

На всякий случай проверяем настройки в Languages & Frameworks > PHP > Debug. Здесь важно, что мы будем слушать приходящие в IDE запросы на порту 9003 (это теперь порт по умолчанию в xdebug 3).

Настройки PHP Debug

Всё, мы готовы к работе. Нажимаем заветную кнопочку Start Listening for PHP Debug Connections. Ставим точку останова в нужном месте PHP скрипта и дергаем его из браузера или прямо из докера. Вуаля, получаем, желаемое:

Сессия PHP Debug

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

Можно ли установить значение версии PHP, скажем 4.0+, и иметь функции выделения PHPStorm, которые не будут работать с самой старой версией? Например, для PHP4 это должно выделяться static function и т. Д. У меня есть установка PHP на моем ПК, но я не хочу устанавливать более старую версию PHP для каждого небольшого скрипта, который я должен произвести.

поэтому вы хотите выделить все фрагменты кода, которые не будут работать в версии, которую вы пишете, не так ли? Это можно сделать в:

Или в новых версиях PhpStorm:

введите описание изображения здесь

затем выберите свою версию, например, 7.0

Это очень полезно, если ваш локальный сервер находится в 7.0, например, но в версии 5.5. Таким образом, phpstorm предупредит вас, какие части не будут работать на производстве.

Если ваше поле отключено.

Вы можете изменить свою версию PHP в composer.json файле

Как заметил Феликс Ганьон-Гренье ,
помните, что это влияет на то, как пакеты будут необходимы позже

Откройте диалоговое окно «Параметры», выбрав « Файл» | Настройки , затем нажмите « PHP» в разделе « Языки и рамки» . Откроется страница PHP.

Снимок экрана настроек PHP

Теперь вы можете сделать 2 вещи:

  1. На открывшейся странице PHP вы можете установить «Уровень языка PHP».
  2. Вы можете установить версию PHP, которую вы хотите локально, например, установив пакеты, такие как wamp или xamp, а затем установите интерпретатор вашего PHP на открывшейся странице PHP. Больше информации здесь

Вы можете использовать ответ Алехандро Морено , но иногда вы не сможете изменить уровень PHP из закрытого раскрывающегося списка.

Вы можете отключить флажок «Синхронизировать параметры среды IDE с композитором.json»:

Файл -> Настройки -> Языки и рамки -> PHP -> Композитор

И после повторного применения

Файл -> Настройки -> Языки и рамки -> PHP

Здесь вы можете изменить уровень PHP из раскрытого раскрывающегося списка.

На Mac это находится под PHPStorm, Preferences, Languages ??& Frameworks, PHP

Читайте также: