- Настройка Xdebug 3 для Laravel и docker в PHPStorm
- 1 Установка Xdebug внутри докера
- 2 Настройка php.ini для отладки
- Содержимое файла xdebug.ini:
- 3 Обновляем контейнер
- 4 Настраиваем PHPStorm для Xdebug внутри Докер
- 5 Тестируем, что PHPStorm ловит Xdebug
- 6 Настраиваем в PHPStorm IDE key
- Настройка PhpStorm для работы с Laravel
- Выбор версии PHP и настройка пути к интерпретатору
- Путь к менеджеру пакетов Composer
- Путь к Node.js и менеджеру пакетов NPM
- Выбор версии JavaScript
- Установка Laravel плагина
- Установка Vue.js плагина
- Установка IDE-helper для Laravel
- Установка Laravel Debugbar
- Настройка PHPStorm для работы с Laravel
- Предварительная настройка IDE
- Выбор версии PHP и настройка пути к интерпретатору
- Указание путь к composer
- NodeJs
- JavaScript
- Настройка Laravel
- Установка Laravel плагина
- Настройка VueJs
- Подключение нужных библиотек, последние шаги настройки
- Установка IDE-helper
- Автодополнение команд artisan
- Резюме
- Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql
Настройка Xdebug 3 для Laravel и docker в PHPStorm
Разберем в статье, как настроить PHPStorm для отладки с помощью Xdebug 3 проекта на Ларавел, запущенного в докере. Важна версия Xdebug! Во второй и третьей версии различное именование параметров для конфигурации Xdebug! Также обращаю внимание, что в качестве веб-сервера в docker используется Apache.
Настройка состоит из нескольких этапов, в каждом из которых может возникнуть ошибка. Поэтому рекомендую делать промежуточные проверки, чтобы в случае необходимости было легче догадаться, где допущена ошибка. Как и когда можно сделать промежуточную проверку также указано в инструкции.
Также обращаю внимание, что настройки производятся в host ОС — Mac OS, для Windows и Linux данный метод не проверялся.
1 Установка Xdebug внутри докера
Для этого надо убедиться, что в файле Dockerfile прописана установка дебаггера (если нет, то нужно добавить):
Также нужно обновить файл docker-compose.yml и добавить переменную в окружение:
Как на скриншоте ниже:
2 Настройка php.ini для отладки
Теперь создадим .ini одноименный с Xdebug: xdebug.ini в корне проекта PHPStorm и замапим его с содержимым контейнера через настройку volumes в конфигурации веб-сервера в файле docker-compose.yml:
Содержимое файла xdebug.ini:
3 Обновляем контейнер
Теперь запускаем обновление контейнера докера, чтобы он установил внутри Xdebug: docker-compose build
И проверяем по логу, что отладчик потавился 3-ей версии:
install ok: channel://pecl.php.net/xdebug-3.0.2
4 Настраиваем PHPStorm для Xdebug внутри Докер
Идем в настройки PHPStorm и выбираем из дерева меню — пункт PHP, для него надо настроить CLI Interpreter. Для этого надо выбрать интерпретатор из нашего докер-контейнера:
Как это сделать, показано в видео:
5 Тестируем, что PHPStorm ловит Xdebug
Запускаем докер-контейнер через docker-compose up. Если контейнер уже запущен, то перезагружаем апач, чтобы точно применилась настройки из .ini файла ( заходим внутрь контейнера, к примеру, docker-compose exec web bash, и выполняем service apache2 reload).
Обновляем страницу нашего веб-приложения в браузере и наблюдаем, что сразу же должно появиться входящее подключение в шторме, пример как на скриншоте ниже:
6 Настраиваем в PHPStorm IDE key
Теперь для полного счастья нам осталось:
- добавить в xdebug.ini еще одну настройку, с указанием ide key,
- добавить PHP сервер в настройки проекта с нужным портом и включенным mapping’ом файлов
- и создать конфигурацию для Remote Debug.
Смотрим, как это делается в видео ниже:
Источник
Настройка PhpStorm для работы с Laravel
Фреймворк Laravel имеет богатый функционал, значительно облегчая жизнь программисту. Однако, обратной стороной этого удобства, является сложность в чтении кода для IDE. В результате, IDE не может проанализировать код должным образом, и предложить программисту автодополнение кода. Потому, чтобы было удобно работать с Laravel в PhpStorm, нужна дополнительная настройка.
Чтобы с помощью Composer-а установить в директорию blog последнюю версию Laravel, выполянем команду:
Выбор версии PHP и настройка пути к интерпретатору
Настройка версии PHP и интерпретатора находится на вкладке File → Settings → Languages & Frameworks → PHP:
- PHP Language Level — версия PHP для проверки синтаксиса
- CLI interpriter — путь к интерпретатору PHP
Путь к менеджеру пакетов Composer
Путь к composer-у указывается на вкладке File → Settings → Languages & Frameworks → PHP → Composer:
Путь к Node.js и менеджеру пакетов NPM
Node.js и пакетный менеджер NPM, будут хорошим помощником в подключении всех фронтенд-библиотек. Путь к Node.js можно задать на вкладке File → Settings → Languages & Frameworks → Node.js and NPM:
Выбор версии JavaScript
Настройка версии JavaScript находится на вкладке File → Settings → Languages & Frameworks → JavaScript:
Установка Laravel плагина
Плагины устанавливаются на вкладке File → Settings → Plugins. Для поиска нужного плагина, в строку поиска набираем «laravel»:
После установки плагина появится новая вкладка File → Settings → Languages & Frameworks → PHP → Laravel. Здесь нужно поставить галочку «Enable plugin for this project»:
Установка Vue.js плагина
На вкладке File → Settings → Plugins найти Vue.js и установить:
Установка IDE-helper для Laravel
Для установки IDE-helper-а, воспользуемся composer-ом — Tools → Composer → Manage Dependencies. В строку поиска вводим «barryvdh/laravel-ide-helper»
Второй способ — просто установить IDE-helper с помощью Composer:
После установки библиотеки нужно отредактировать файл config/app.php :
Заключительный шаг — создаем файл _ide_helper.php в корне проекта:
Установка Laravel Debugbar
В консоли выполняем команду:
Вносим изменения в файл .env , чтобы включить Debugbar:
Чтобы отключить Debugbar, вносим изменения в файл .env :
Однако после этого панель отладчика, возможно, никуда не денется. Laravel кэширует настройки и больше в файлы конфигурации не заглядывает. Поэтому в консоли нужно выполнить команду:
Источник
Настройка PHPStorm для работы с Laravel
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.phar, и в этой графе (1) указать путь к исполняемому файлу composer.
И выберите итерпретатор, созданный шагом ранее
У меня, путь к composer-у выглядит так: E:\laragon\bin\composer\composer.phar
NodeJs
NodeJs, его пакетный менеджер, NPM, будет хорошим помощником в подключении всех фронтенд-библиотек. Потому, во-первых, нужно указать путь к самому NodeJs, а во вторых, нужно настроить всё так, чтобы синтаксис Vue-шаблонов был понятен для самой IDE.
В меню File | Settings | Languages & Frameworks | Node.js and NPM, аналогично предыдущим пунктам, нужно указать путь к nodeJs (после его указания, автоматически должен подключиться NPM)
JavaScript
Ввиду того, что Vue использует новые ES6 синтаксис для написания шаблонов, то необходимо в самой IDE переключить на поддержку этого синтаксиса на вкладке File | Settings | Languages & Frameworks | JavaScript, выбрав ECMSScript 6
Настройка Laravel
Теперь, осталось провести некоторые настройки, относящиеся к Laravel.
Установка Laravel плагина
Теперь нужно установить Laravel-плагин в PHPStorm. Плагины устанавливаются на вкладке File | Settings | Plugins.
Для поиска плагина, в строку поиска нужно вписать laravel
И выбрать интересующий нас Laravel Plugin, который добавляет автодополнение в маршрутах, видах, конфигах.
Когда он будет установлен, появится новая вкладка File | Settings | Languages & Frameworks | PHP | Laravel
На которой, нужно поставить галочку на Enable plugin for this project
Настройка VueJs
Для VueJs, аналогично Laravel, так же существует свой отдельный плагин. Чтобы его установить, нужной на вкладке File | Settings | Plugins найти Vue и установить
Подключение нужных библиотек, последние шаги настройки
Сейчас мы уже имеем проект, с которым можно работать. Однако, по-прежнему, нету автокомплита методов в маршрутах, миграциях, Eloquent, ввиду особенной структуры фреймворка. Для решения этой проблемы, нужно скачать библиотеку laravel ide-helper, которая сгенерирует дополнительные мета-файлы для IDE.
Установка 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 .
Теперь достаточно выполнить команду 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, которая тебе точно придётся по вкусе, дорогой разработчик.
Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql
Get the latest posts delivered right to your inbox
Источник