- Отладка php в Visual Studio Code (Xdebug, Windows)
- Установка PHP Debug
- Установка и настройка Xdebug
- Настройка Visual Studio code
- Отладка php в Visual Studio code
- Как настроить VS Code для разработки на PHP
- Основные возможности
- EditorConfig for VS Code
- PHP Intelephense
- PHP Debug
- PHP Sniffer
- Semicolon Insertion Shortcut
- Extra
- Debug PHP In VSCode With XDebug
- Getting the basics ready
- Configuring PHP to use XDebug
- Step 1
- Step 2
- Configuring VSCode to use PHP XDebug
- Step 1
- Step 2
- Step 3
- How to use
- Summary
Отладка php в Visual Studio Code (Xdebug, Windows)
В некоторых случаях может возникнуть необходимость отладки приложений на php. Visual Studio code предоставляет такую возможность при условии установки дополнительного расширения PHP Debug (marketplace, github).
Установка PHP Debug
Для установки нажмите Ctrl+p и введите команду ext install php-debug . Нажмите на кнопку «включить», в итоге вы должны увидеть примерно следующее:
Установка и настройка Xdebug
PHP Debug использует для отладки Xdebug. Для настройки Xdebug пройдите по ссылке. Предполагается, что на локальной машине уже установлен и настроен сервер apache. Здесь и далее действия указаны для Windows. Можно создать файл, например, test.php содержащий:
Открыть его в браузере и скопировать содержимое страницы в диалоговое окно. Другой способ:
- win+R ;
- cmd + Enter ;
- php -i > phpinfo.text ;
- открыть любым удобным редактором phpinfo.txt и все его содержимое вставить в диалоговое окно.
Далее следуйте инструкциям по установке: скачайте .dll и не изменяя его имени скопируйте его в указанную папку, дополните файл php.ini указанной в руководстве строкой.
Кроме этого, добавьте нижеследующие строки. Итоговое добавление будет примерно таким:
Как вы уже, возможно догадались, в данном примере на локальной машине установлен XAMPP.
Обратите внимание на строку xdebug.remote_host=127.0.0.2 . По умолчанию Xdebug «слушает» порт 127.0.0.1. Укажите здесь, адрес отлаживаемого сайта.
Примечание: С версией Xdebug 2.5 и выше Visual Studio code не работает. Поэтому выбирайте соответствующий вашей версии php файл *.dll.
Настройка Visual Studio code
Вызовите панель отладки (1) и нажмите на иконку с маленькой шестеренкой (2).
В появившемся списке выберите PHP . Автоматически сформируется файл launch.json .
Настройка PHP Debug на этом окончена.
Отладка php в Visual Studio code
Откройте в браузере ваше приложение\сайт. Откройте папку с приложением в Visual Studio code. Установите в нужных файлах и строках точки остановки. Откройте панель отладки и выберите для запуска отладки команду Listen for Xdebug (1). Нажмите кнопку запуска (2).
Обновите страницу в браузере и наслаждайтесь.
Источник
Как настроить VS Code для разработки на PHP
Visual Studio Code – популярный бесплатный редактор кода. Может с легкостью конкурировать с PhpStorm, ведь он бесплатный и с открытым исходным кодом
Основные возможности
- отладчик кода
- встроенный терминал
- удобные инструменты для работы с Git
- подсветка синтаксиса для множества популярных языков и файловых форматов
- удобная навигация
- встроенный предпросмотр Markdown
- умное автодополнение
- встроенный пакетный менеджер
VS Code имеет большое количество расширений для разработчика. Для установки нового пакета зайдите во вкладку “Extensions”, введите название пакета в строке поиска, нажмите кнопку “Install”.
EditorConfig for VS Code
EditorConfig — это конфигурационный файл и набор расширений к большому количеству редакторов кода. Он подхватывает настройки из файла .editorconfig , который, как правило, размещается в корне проекта. Расширение автоматически настроит отступы и перевод строк единообразно для всех разработчиков, использующих его. PHP код чаще всего выполняется на *nix системах, поэтому необходимо использовать стандарт.
Ниже приводится пример файла .editorconfig , который используется в Laravel:
PHP Intelephense
В редакторе уже есть поддержка синтаксиса и подсказок стандартных функций языка. Но без специального дополнения редактор не будет подсказывать пользовательские функции из других частей проекта. Поэтому для поддержки автодополнения, анализа кода, перехода к месту, где создана функция/класс/переменная (с помощью шортката Alt+Click ), используется дополнение PHP Intelephense
Чтобы подсказки не дублировались необходимо отключить встроенную в редактор поддержку кода для PHP: Extensions -> Search @builtin php -> PHP Language Features -> Disable
PHP Debug
При разработке может возникнуть ситуация, когда простых функций отладки и логирования становится недостаточно. Тогда может помочь специальный инструмент — Дебаггер. Для PHP есть расширение xdebug, которое позволяет расставить точки останова и посмотреть окружение в предполагаемом месте ошибки, выполняя код поэтапно либо до следующей точки.
Чтобы воспользоваться PHP Debug, необходимо установить сам XDebug, без него расширение для редактора работать не будет. Установив расширение, необходимо добавить конфигурацию для PHP в разделе Debug . После выбора языка в корне проекта будет создан файл .vscode/launch.json с задачами для Дебаггера. Расширение создаст файл со стандартными параметрами.
Для того, чтобы XDebug общался с нашим дебаггером, необходимо добавить настройки в файл конфигурации php. Чтобы найти этот файл выполните в терминале команду php —ini или запустите веб-сервер с кодом phpinfo() .
В Linux PHP подгружает не только основной файл, но и файл из этой директории. Например, на Ubuntu путь к директории конфигурационных файлов для PHP может быть таким — /etc/php/7.3/cli/conf.d/ . В ней создаём файл с необходимыми правами (требуются root права):
Это настройки для локальной разработки, когда проект разрабатывается и запускается на одном компьютере, например на вашей рабочей машине
PHP Sniffer
В языках программирования есть понятие стиль кодирования. Но не все разработчики знают об этом. Программа, которая отвечает за проверку на соответствие стандартам, называется линтер. В PHP приняты стандарты под названием PSR. Нас интересуют стандарты PSR-1 и PSR-12. Именно эти два стандарта касаются кодирования и правил оформления.
В PHP в качестве линтера используется PHP_CodeSniffer. Для его работы необходимо установить глобально сам линтер composer global require «squizlabs/php_codesniffer=*» и расширение PHP Sniffer.
Проверьте, что линтер установился:
Выполнить проверку кода в терминале можно с помощью команды phpcs , явно указав стандарт, который мы хотим использовать, и путь для проверки:
Semicolon Insertion Shortcut
PHP требует разделять инструкции с помощью точки запятой. Расширение Semicolon Insertion Shortcut добавляет необходимый символ в конец строки с помощью шортката. Если при нажатии [Ctrl] + ; символ не вставляется, то необходимо проверить список горячих клавиш и при необходимости назначить комбинацию вручную: File -> Preferences -> Keyboard Shortcuts
Extra
Список расширений, которые могут быть использованы не только для PHP:
- GitLens — в VS Code уже встроена поддержка Git. Но когда базовых возможностей становится недостаточно, на помощь может придти Gitlens. Например, одна из полезных фич — git blame на текущей строке.
- Indent Rainbow — разноцветные отступы в коде. Подсвечивает некорректный отступ. Можно вместо радуги установить оттенки серого.
Settings Sync — плагин, позволяющий синхронизировать настройки редактора между разными компьютерами. В качестве облачного хранилища используется Github Gists. Все настройки можно скачать, указав нужный файл синхронизации.
Fira Code — моноширинный шрифт, в котором используются лигатуры (объединяет несколько символов в один) для общих комбинаций символов в программировании. Визуальная надстройка для более удобного чтения кода.
Источник
Debug PHP In VSCode With XDebug
VSCode is great, the fact that it can work with a vast amount of languages help’s it cater for everyone’s taste. One special tool that comes with VSCode is the Debug feature and when configured correctly, is a dream to use. If you’ve previously worked with Visual Studio 2017 for example, you will know what I mean. This guide will go through how to set-up the PHP xDebug module to work in tandem with VSCode, completely enabling full-on functional debugging across your application.
Getting the basics ready
To complete this tutorial you will need an installation of VSCode and as a bare minimum PHP 7.0. Of course, you will need a web server to run the PHP too, so make sure this is in place also. Once these are ready, make note of your PHP module directory, for example, mine is set to ‘C:\xampp\php\ext‘. This is were the XDebug module will reside.
Configuring PHP to use XDebug
Step 1
Create an index.php file in the root directory of your web server, and add the following code.
Run the index.php file in a browser, preferably, Google Chrome. This will render the following information as shown in the image below –
Once this is loaded up, follow these sub-steps.
- Highlight all of the information on the page and copy it.
- Go to the XDebug Wizard tool.
- Paste the information into the Text Box input on the wizard tool page.
- Locate and click the ‘Analyse my phpinfo() output’ button.
- Download the provided module under Instructions, number 1. (See image below)
Follow the remaining instructions in the image above but remember, in this example, the directory path may be different to your own. Do not forget to restart the web server after adding the module to the ext directory.
Step 2
Let’s go ahead and configure the php.ini file to use the new xDebug module and set-up the extra settings to work with VSCode.
- Locate and open the php.ini configuration file, this will be inside the PHP root directory, for example, ‘C:\xampp\php\’.
- Add the settings below to the very bottom of the php.ini file.
- Important: Make sure that the zend_extension matches the one you have downloaded and residing in your php/ext folder.
- Also Important: Enabling remote_enable & remote_autostart must not be missed, otherwise, xDebug will not execute if either the browser or as singular script launch.
- Save it
- Restart the web server again.
Configuring VSCode to use PHP XDebug
Step 1
Install the PHP Debug extension by Felix Becker. This can be done by clicking the extensions tab in VSCode and searching for ‘PHP Debug’.
Step 2
Then, click on the Debug tab on the left-hand pane, click the debug drop-down and select Add Configuration.
Then, click the ‘PHP’ option from the drop-down that pops out.
After this point, VSCode will of created a launch.json file within your root directory inside the VSCode folder. There is one more step to take to make sure that the script execution works correctly.
Specify the runtimeExecutable which is the path to your PHP.exe interpreter. For example. mine looks like the following.
Now go ahead and save the launch.json file.
Step 3
After following steps 1 and 2, you will be able to use the ‘Launch currently open script’ option, which will do exactly what it says on the tin. You can debug a single script without having to worry about a browser.
Now, if we want to be able to debug a script as a proper user, for example, debugging using a browser. This is always worth setting up because it’s extremely handy when debugging Get & Post to name a few.
What we need is an xDebug Helper, which is a Google Chrome extension available to use for free. Find the extension by going to the Google Chrome Web Store. See the following steps –
- Goto the following URL https://chrome.google.com/webstore/category/extensions
- Search for ‘xDebug Helper’
- Install the extension (It has a green ladybug in the logo) – See image below.
That is it, your VSCode is now prepared to debug your code.
How to use
Launch currently open script
Ok, so now both debug methods are set-up, how do we use them? It’s pretty simple. First of all, let us go through using the ‘Launch currently open script’ method.
- Go to any .php file, and add some breakpoints to your code (Shortcut is F9 on the keyboard).
- Make sure that ‘Launch currently open script’ is already selected in the Debug drop down in the top left of the debug window.
- Press F5 to start the debug process.
- You will see the debugger break at the first breakpoint, see the image below.
Listen for xDebug
Now, let’s go through the ‘Listen for xDebug method which takes the browser into account.
- Open a .php file, for this example the index.php file in the root directory.
- Add some code and add some breakpoints. Use F9 shortcut key to add breakpoints.
- Change the Debug select option to ‘Listen for xDebug’.
- Press F5 to start the debugger.
- Open Chrome and navigate to your index.php file, in my case its http://localhost/index.php
- Click the new XDebug Helper extension and click the Debug option.
- You will notice the helper icon will now turn green (See image below)
- Finally, refresh the page in the browser, and VSCode will react and start the debugging process.
- Go back into VSCode and you will see that it has stopped at the breakpoint.
Summary
Although this tutorial is pretty long-winded, you only have to do it once. I really advise the installation of XDebug Helper as it transforms debugging into another level. It’s free to use and invaluable.
If you struggle with this tutorial, or you get a different result to what has been stated in this article, please feel free to leave a comment.
Источник