Очистка фрагмента кода PHP

Фрагмент, который трудно читать, получает меньше ответов. Вставьте код сюда, чтобы получить одно выражение в строке и единые отступы, а затем скопируйте его в тикет, сообщение в чате, вопрос на форуме или в документацию. Это занимает несколько секунд и лучше всего подходит для коротких примеров.

Как подготовить фрагмент кода к публикации

  1. 1

    Сначала сократите код

    Удалите все, что не относится к вопросу, а пароли, ключи и реальные имена замените заглушками.

  2. 2

    Вставьте код

    Поместите сокращенный фрагмент в поле PHP-кода и выберите 2 или 4 пробела.

  3. 3

    Перейдите к результату

    Откройте очищенную версию.

  4. 4

    Скопируйте и опубликуйте

    Сверьте результат с оригиналом, а затем вставьте его в блок кода там, где вы публикуете.

Зачем помогает форматирование

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

До и после

Исходный код, скопированный из лога:

<?php function total($items){$sum=0;foreach($items as $item){$sum+=$item["price"];}return $sum;}

Очищенный код с 4 пробелами:

<?php function total($items)
{
    $sum=0;
    foreach($items as $item)
    {
        $sum+=$item["price"];
    }
    return $sum;
}

Короткий чек-лист перед публикацией

  • Удалите секреты. Текст, который вы вставляете сюда, обрабатывается на нашем сервере, поэтому не используйте настоящие учетные данные, токены или данные клиентов.
  • Оставьте пример минимальным, только с теми строками, которые нужны для демонстрации проблемы.
  • Укажите, какую версию PHP вы используете и что вы ожидали увидеть.
  • Сравните отформатированный код с исходным. Инструмент меняет только разметку, но на комментарии и строковые литералы могут влиять правила пробелов.
  • Поместите результат в блок кода, чтобы сохранились отступы.

Чем этот инструмент не является

Он не находит ошибки, не запускает код и не проверяет правила стиля. Аккуратная разметка облегчает заметить проблему, но не исправляет ее.

Где это помогает

  • Обращение в поддержку или отчет об ошибке, в которые вложен пример кода.
  • Вопрос на форуме разработчиков или в чате.
  • Страница документации или руководство, где пример должен выглядеть аккуратно.
  • Комментарий при рецензировании, в котором вы предлагаете изменить часть функции.

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

Сохраняйте пример достоверным

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

Часто задаваемые вопросы

Нет. Сначала замените пароли, ключи и персональные данные заглушками. Вставленный текст отправляется на наш сервер для форматирования.

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

Нет. Он не проверяет синтаксис и не запускает фрагмент. Он только улучшает расположение кода.

Инструмент предназначен для коротких фрагментов. Для длинных файлов лучше подойдет форматировщик, настроенный в вашем редакторе.

Сопутствующие инструменты

Генератор вымышленных телефонных номеров

Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.

Генератор конфигурации webpack

Создайте webpack.config.js для webpack 5 под чистый JavaScript, React или Vue: TypeScript, Babel, CSS или Sass, изображения, HtmlWebpackPlugin, dev-сервер и команда npm install.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Валидатор XSD

Проверьте XML-документ в соответствии с схемой XSD и выявите несоответствия между элементами и их типами, указав точные номера строк.

Генератор случайных адресов

Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.

Конвертер размера файлов

Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.

Инструмент доступен на других языках

Руководства и сценарии использования