Форматировщик PHP
Форматируйте код PHP в единообразном, читаемом стиле с помощью плагина Prettier PHP, близкого к соглашениям PSR-12. Вставьте файл, начинающийся с <?php, чтобы получить единообразные пробелы, фигурные скобки, массивы и цепочки методов, а длинные списки аргументов будут перенесены с учетом заданной ширины строки. Об ошибках синтаксиса сообщается с указанием текста ошибки парсера, строки и столбца. Это помогает разработчикам PHP приводить в порядок устаревший код перед проверкой.
Часто задаваемые вопросы
Какой форматировщик используется?
На сервере инструмент запускает Prettier 3 с @prettier/plugin-php 0.26. Результат соответствует стилю, близкому к PSR-12: по умолчанию используется отступ в четыре пробела на каждом уровне, открывающие фигурные скобки классов и функций размещаются на отдельных строках, а каждое выражение занимает одну строку.
Код должен начинаться с открывающего тега <?php?
Да. Плагин форматирует код внутри тегов PHP. Все, что находится за их пределами, считается встроенным HTML и сохраняется без изменений. Поэтому фрагмент без <?php вернется в исходном виде.
Какие версии PHP поддерживаются?
Поддерживается современный синтаксис PHP 8, включая атрибуты, перечисления, выражения match, стрелочные функции, именованные аргументы, продвижение свойств конструктора и классы readonly. Код на более ранних версиях PHP 5 и 7 тоже форматируется.
Изменит ли форматировщик поведение моего кода?
Нет. Он меняет только оформление. Возможны некоторые чисто косметические преобразования: например, длинный синтаксис array() может замениться эквивалентным кратким синтаксисом []. Поведение кода останется прежним.
Что произойдет при ошибке синтаксиса?
Форматирование прекращается, и инструмент показывает сообщение парсера с указанием строки и столбца, например о пропущенной закрывающей скобке. Исправьте ошибку и запустите форматирование снова.
Можно ли использовать табуляцию или отступ в два пробела?
Да. Выберите 2 или 4 пробела либо включите табуляцию. Ширина строки от 40 до 200 символов, по умолчанию 80, определяет, когда вызовы, массивы и условия переносятся.
Сохраняются ли комментарии и блоки документации?
Да. Строчные комментарии, блочные комментарии и блоки PHPDoc остаются рядом с описываемым ими кодом. Их текст не переносится.
Может ли инструмент форматировать шаблоны, в которых смешаны HTML и PHP?
Он форматирует блоки PHP в таких шаблонах, а текст HTML между ними оставляет без изменений. Результат для сложных шаблонов может потребовать ручной доработки.
Какой объем кода можно форматировать за один раз?
До 1 MB кода за запрос; форматирование прекращается через 10 секунд. Этого хватит даже для очень больших отдельных файлов.
Остается ли мой код на сервере?
Нет. Код форматируется в памяти и сразу возвращается вам. Он не сохраняется; регистрируется только размер запроса.