Настроить исполняемый php файл

Как настроить 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

Читайте также:  Intel vpro как настроить

Чтобы подсказки не дублировались необходимо отключить встроенную в редактор поддержку кода для 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 — моноширинный шрифт, в котором используются лигатуры (объединяет несколько символов в один) для общих комбинаций символов в программировании. Визуальная надстройка для более удобного чтения кода.

Источник

Выполнение PHP-файлов

Указывание конкретного файла для запуска.

Оба способа (с указыванием опции -f или без) запустят файл my_script.php . Нет ограничений, какой файл запускать, и PHP-скрипты не обязаны иметь расширение .php.

Если необходимо передать аргументы в скрипт, то при использовании опции -f первым аргументом должен быть .

Передать PHP-код напрямую в командной строке.

Необходимо быть особо осторожным при использовании этого способа, так как может произойти подстановка переменных оболочки при использовании двойных кавычек.

Внимательно прочтите пример: в нем нет открывающих и закрывающих тегов! Опция -r просто в них не нуждается. Их использование приведет к ошибке парсера.

Передать запускаемый PHP-код через стандартный поток ввода (stdin).

Это дает мощную возможность создавать PHP-код и скармливать его запускаемому файлу, как показано в этом (вымышленном) примере:

Как и любое другое консольное приложение, бинарный файл PHP принимает аргументы, но PHP-скрипт также может получать аргументы. PHP не ограничивает количество аргументов, передаваемых в скрипт (оболочка консоли устанавливает некоторый порог количества символов, которые могут быть переданы; обычно этого лимита хватает). Переданные аргументы доступны в глобальном массиве $argv . Первый индекс (ноль) всегда содержит имя вызываемого скрипта из командной строки. Учтите, что если код вызывается на лету из командной строки с помощью опции -r , значением $argv[0] будет просто дефис (). То же самое верно и для кода, переданного через конвейер из STDIN.

Вторая зарегистрированная глобальная переменная — это $argc , содержащая количество элементов в массиве $argv ( (а не количество аргументов, переданных скрипту).

Если передаваемые аргументы не начинаются с символа , то особых проблем быть не должно. Передаваемый в скрипт аргумент, который начинается с создаст проблемы, так как PHP решит, что он сам должен его обработать. Для предотвращения подобного поведения используйте разделитель списка аргументов . После того как этот разделитель будет прочитан PHP, все последующие аргументы будут переданы в скрипт нетронутыми.

Пример #1 Запуск PHP-скрипта как консольного

Подразумевая что этот файл называется test и находится в текущей директории, можно сделать следующее:

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

Исполняемый PHP-файл может использоваться для запуска PHP-скриптов независимо от веб-сервера. В случае, работы в Unix-подобной системе, необходимо добавить ко всем скриптам особую строку #! (называемую также «shebang») в начало файла и сделать их исполняемыми, чтобы указать, какая из программ должна обрабатывать эти скрипты. На Windows-платформах можно назначить обработчик php.exe для файлов с расширениями .php либо создать пакетный (.bat) файл для запуска скриптов посредством PHP. Строка, добавляемая в начале скрипта для Unix-систем, не влияет на их работу в ОС Windows, таким образом можно создавать кроссплатформенные скрипты. Ниже приведен простой пример скрипта, выполняемого из командной строки:

Пример #2 Скрипт, предназначенный для запуска из командной строки (script.php)

#!/usr/bin/php
if ( $argc != 2 || in_array ( $argv [ 1 ], array( ‘—help’ , ‘-help’ , ‘-h’ , ‘-?’ ))) <
?>

Это консольный PHP-скрипт, принимающий один аргумент.

Использование:
echo $argv [ 0 ]; ?>

Любое слово, которое вы хотели бы
напечатать. Опции —help, -help, -h,
или -? покажут текущую справочную информацию.

Скрипт приведенный выше включается в себя специальную Unix строку, указывающую на его запуск с помощью PHP. Работа ведется с CLI -версией, поэтому не будет выведено ни одного HTTP -заголовка.

Также приведенный пример проверяет количество переданных аргументов. В случае, если их больше или меньше одного, а также в случае, если переданный аргумент был —help , -help , -h или -? , выводится справочное сообщение с использованием $argv[0] , которое содержит имя выполняемого скрипта. В противном случае просто выводится полученный аргумент.

Для запуска приведенного примера в Unix-системе, необходимо сделать его исполняемым и просто выполнить в консоли script.php echothis или script.php -h. В Windows-системе можно создать пакетный файл:

Пример #3 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)

Также можно ознакомиться с расширением Readline, которое можно использовать для усовершенствования консольного PHP-скрипта.

Источник

Как запустить или отладить php в Visual Studio Code (VSCode)

Я не могу найти способ запустить или отладить php в коде Visual Studio, кто-нибудь знает, как?

11 ответов

Насколько я читал сегодня, вы не можете отлаживать что-либо, кроме node.js, JavaScript и TypeScript, но они сказали, что хотят добавить новые языки, которые вы можете отлаживать. Редактор все еще находится в разработке. Тем не менее, я не думаю, что в будущем будет отладчик php, поскольку php является серверным, поэтому вы не можете отлаживать его только на своем клиенте.

Если вы хотите отлаживать php, я могу порекомендовать xDebug.

Обновлено:

Теперь можно выполнять отладку с помощью кода VS. Вам необходимо установить XDebug и php-debug для VScode.

XDebug изменил некоторые параметры конфигурации.

Поэтому вам следует вставить последнее в файл php.ini. Дополнительная информация: XDebug Changed Configuration Settings

Лучшим решением для меня было добавить привязку клавиш для запуска PHP-кода прямо в терминале.

Для этого вам просто нужно загрузить terminal-command-keys с торговой площадки расширений кода VS:

Затем зайдите в Файл> Настройки> Сочетания клавиш и щелкните следующий значок в правом верхнем углу:

Откроется файл keybindings.json

Добавьте следующие настройки

ключ — это ярлык для запуска вашего файла PHP (я использую ctrl + s), вы можете изменить его по своему желанию

когда запускать разные команды для разных типов файлов (я установил это только для файлов PHP) предложения vscode» when «

См. Полную документацию по настройкам здесь

Вот и все, надеюсь, поможет.

Для отладки php с помощью vscode вам понадобятся следующие вещи:

  1. vscode с установленным плагином отладки php (XDebug);
  2. php с загруженным и настроенным XDebug.so/XDebug.dll;
  3. веб-сервер, такой как apache / nginx или просто ничего (используйте встроенный сервер php)

Вы можете аккуратно пройти шаги 1 и 2, следуя официальному руководству vscode. Настоятельно рекомендуется использовать мастер установки XDebug, чтобы проверить конфигурацию XDebug.

Если вы хотите отлаживать без автономного веб-сервера, лучшим выбором может быть встроенный php. Запустите встроенный сервер с помощью команды php -S localhost:port -t path/to/your/project , установив каталог вашего проекта в качестве корня документа. Вы можете обратиться к этот пост для подробнее.

Если вы используете Ubuntu 16.04 и php7, вы можете установить xdebug с помощью следующей команды:

Вы можете найти полный процесс настройки здесь.

Если вы используете Windows, вы можете загрузить xdebug с xdebug.org.

И начните отладку в VS-коде с помощью расширения php-debug.

Стоит отметить, что для работы отладчика необходимо открыть папку проекта в Visual Studio Code. Я потерял несколько часов, чтобы заставить его работать, в то время как в редакторе был открыт только отдельный файл.

Их уже достаточно, чтобы помочь полные ответы, но если вы хотите увидеть процесс, то
[нажмите здесь]

Короткие шаги

обновите файл php.ini следующими строками:

[XDebug] xdebug.remote_enable = 1 xdebug.remote_autostart = 1 zend_extension=path/to/xdebug

[готово]

  1. убедитесь, что вы перезапустили локальный сервер

Есть гораздо более простой способ запустить PHP, не требующий настройки:

  1. Установите расширение Code Runner
  2. Откройте файл кода PHP в текстовом редакторе.
    • использовать ярлык Ctrl+Alt+N
    • или нажмите F1 , а затем выберите / type Run Code ,
    • или щелкните правой кнопкой мыши текстовый редактор и выберите Run Code в контекстном меню редактора
    • или нажмите кнопку Run Code в меню заголовка редактора
    • или нажмите кнопку Run Code в контекстном меню проводника файлов

Кроме того, вы можете выбрать часть кода PHP и запустить фрагмент кода. Очень удобно!

Если вы не хотите устанавливать xDebug или другие расширения и просто хотите запустить файл PHP без отладки, вы можете выполнить это с помощью задач сборки.

Использование задач сборки

Сначала откройте палитру команд ( Ctrl + Shift + P в Windows, ⌘ + Shift + P в Mac) и выберите «Задачи: открыть задачи пользователя». Теперь скопируйте мою конфигурацию ниже в свой файл tasks.json. Это создает задачи на уровне пользователя, которые можно использовать в любое время и в любом рабочем пространстве.

Если вы хотите запустить свой php-файл в терминале, откройте палитру команд и выберите «Задачи: Выполнить задачу», а затем «Запустить в терминале».

Если вы хотите запустить свой код на веб-сервере, который обслуживает ответ веб-браузеру, откройте палитру команд и выберите «Задачи: выполнить задачу», затем «Запустить сервер», чтобы запустить встроенный сервер PHP, затем «Запуск в браузере». «, чтобы запустить текущий открытый файл из вашего браузера.

Обратите внимание: если у вас уже есть запущенный веб-сервер, вы можете удалить задачу Start Server и обновить часть localhost:8080 , чтобы она указывала на любой URL-адрес, который вы используете.

Использование PHP Debug

Примечание. Этот раздел был в моем первоначальном ответе. Изначально я думал, что он работает без PHP Debug, но похоже, что PHP Debug действительно предоставляет тип php в конфигурации запуска. Нет причин использовать его вместо описанного выше метода задачи сборки. Я сохраню его здесь на случай, если он пригодится.

Скопируйте следующую конфигурацию в свои пользовательские настройки:

Это создает глобальную конфигурацию запуска, которую вы можете использовать в любом файле PHP. Обратите внимание на параметр runtimeExecutable . Вам нужно будет обновить это, указав путь к исполняемому файлу PHP на вашем компьютере. После того, как вы скопируете приведенную выше конфигурацию, всякий раз, когда у вас открыт файл PHP, вы можете нажать клавишу F5, чтобы запустить код PHP и отобразить результат в терминале vscode.

  1. Скачайте и установите Visual Studio Code
  2. Настроить линтинг PHP в пользовательских настройках
  3. Загрузите и установите расширение PHP Debug из Visual Studio Marketplace.
  4. Настройте расширение PHP Debug для XDebug

Обратите внимание, что в связанной статье есть конкретные подробности, включая значения PHP для вашей пользовательской конфигурации VS Code и так далее.

Отладка PHP с помощью VSCode с использованием расширения vscode-php-debug

VSCode теперь может поддерживать отладку проектов PHP через расширение Marketplace vscode-php-debug.

Это расширение использует XDebug в фоновом режиме и позволяет использовать точки останова, часы, трассировку стека и тому подобное:

Установка проста из VSCode: вызовите командную строку с помощью F1 и затем введите ext install php-debug

Источник

Оцените статью