Распаковка кода PHP
Код PHP сжат в одну строку? Эта страница разворачивает его обратно в отдельные выражения, с фигурными скобками на отдельных строках и блоками с отступами. Имена переменных не восстанавливаются, а удаленные комментарии пропали безвозвратно, но структура становится легко проследить.
Как распаковать PHP
-
1
Вставьте код в одну строку
Скопируйте сжатый PHP-код в поле PHP-кода.
-
2
Выберите отступ
Выберите 2 или 4 пробела. Четыре пробела легче просматривать при глубокой вложенности.
-
3
Перейдите к результату
Развернутый код появится на следующей странице.
-
4
Проверьте и скопируйте
Просмотрите код и вставьте его в свой редактор.
Что умеет распаковка, а что нет
Минификаторы удаляют пробелы и комментарии, а некоторые еще и сокращают имена. Развернуть разметку несложно: выражение заканчивается на точке с запятой, а блок начинается и заканчивается фигурной скобкой. Этот инструмент опирается именно на эти признаки. Он не может вернуть удаленные комментарии, исходные имена переменных или исходное форматирование.
Пример
Сжатые исходные данные:
<?php if($age>=18){echo "adult";}else{echo "minor";}
Развернутый результат:
<?php if($age>=18)
{
echo "adult";
}
else
{
echo "minor";
}
Инструмент также добавляет пробел после каждой запятой, поэтому ["red","green"] превращается в ["red", "green"]. Это касается запятых в коде, а не только между аргументами.
Ограничения, которые стоит учитывать
- Строки с запятыми, например
"a,b", тоже получают пробел после запятой, потому что это правило действует на весь текст до того, как код будет прочитан. Проверяйте текстовые литералы после обработки. - Точка с запятой или фигурная скобка в комментарии считается кодом и начинает там новую строку.
- Пробелы вокруг операторов остаются такими, какими были. Если в сжатом исходнике было
$a+$b, таким же останется и результат. - Запутанный код, который использует закодированные строки или выполняемые полезные нагрузки, остается нечитаемым, даже если его разметка аккуратна. Относитесь к незнакомому коду с осторожностью и никогда не запускайте его только ради того, чтобы посмотреть, что он делает.
Как читать результат
Начинайте с внешних фигурных скобок, которые теперь находятся у левого края, и двигайтесь внутрь. Заголовки функций и классов показывают, что определяет код, а строки с отступом под ними показывают, что делает каждая часть. Длинные цепочки выражений, которые были склеены, теперь лежат по одному в строке, поэтому можно проследить порядок, в котором всё происходит.
Советы по работе со сжатым кодом
- Сначала форматируйте, потом читайте. Не редактируйте сжатый текст напрямую.
- Сохраняйте исходный файл. Развернутая разметка нужна для чтения, а форматировщик в вашем редакторе позже может изменить стиль.
- Если в файле несколько функций верхнего уровня, вставьте их вместе. Каждая заканчивается на своей закрывающей скобке, поэтому границы хорошо видны.
Сравнение с оригиналом
Если у вас все еще есть минифицированный файл, найдите в нем несколько необычных строк и убедитесь, что они есть в развернутом тексте. Это быстрый способ проверить, что ничего не потерялось, и стоит сделать это до того, как копировать результат в важное место.
Часто задаваемые вопросы
Нет. Имена, сокращенные минификатором, утеряны. Восстанавливается только разметка.
Нет. Когда комментарии удалены из исходника, восстанавливать уже нечего.
Для простого кода должен, потому что меняются только пробелы. Главное исключение: пробелы после запятых внутри строковых литералов, поэтому проверьте строки.
Нет. Он меняет только разметку. Закодированные или упакованные полезные нагрузки остаются как есть.
Сопутствующие инструменты
Генератор вымышленных телефонных номеров
Создавайте до 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), свободно сочетая десятичные и двоичные единицы.
Инструмент доступен на других языках
- คลายการบีบอัดโค้ด PHP [TH]
- Rozminifikuj kod PHP [PL]
- Giải nén mã PHP [VI]
- Membuka Minify Kode PHP [ID]
- فك ضغط كود PHP [AR]
- PHP-Code entminifizieren [DE]
- PHP コードの圧縮を解除する [JA]
- Desminificar código PHP [PT]
- Desminificar código PHP [ES]
- PHP 코드 압축 풀기 [KO]
- Avminifiera PHP-kod [SV]
- Désminifier du code PHP [FR]
- PHP-code unminifyen [NL]
- Unminify PHP Code [EN]
- Decomprimere codice PHP [IT]
- PHP Kodunu Minify Etmeden Geri Açın [TR]
- 还原压缩的 PHP 代码 [ZH]