Стоит ли минифицировать PHP-код?

635
26 ноября 2016, 20:38

Если минификация CSS-кода и JavaScript-кода уже стала правилом хорошего тона при создании серьёзных сайтов, то что насчёт PHP-кода? Что-то я не слышал, чтобы все PHP-файлы стремились объединить в один и убрать все пробелы. Вероятно, в этом нет особого смысла?

Answer 1

Надо ответить на вопрос "зачем"

CSS и JS - потому что эти данные передаются по сети. Возможно, по медленной сети какого-нибудь GPRS. Или, что зачастую гораздо хуже, по нестабильной сети. Меньше данных передавать - значит быстрее загрузка на клиенте. При раздаче gzip эффект оказывается сильно меньше, но если равно при деплое статика собирается, компилируется (sass/less, например, или ещё какой препроцессор), сжимается gzip'ом (чтобы nginx не на каждый запрос пережимал статику, а раздавал уже сжатую), выберите-подходящие-этапы-для-своего-проекта - то ещё один шаг с минификацией уже ничего не стоит добавить.

PHP же - исполняется целиком на сервере, исходник никуда не передаётся по сети. Какой бонус можно хотеть получить после минификации? Может быть мысль сэкономить чуть-чуть на времени парсинга исходного текста - но зачем, если парсинг исходника можно вообще не делать для каждого запроса, а переиспользовать сразу опкод? Несколько дополнений кэширования опкода было уже давно, в уже музейном PHP 5.5 opcache перенесли в основной код PHP (но дефолтно он выключен).

То есть минифицировать по аналогии с JS можно, но нет ответа на вопрос "зачем". Поэтому не используется.

Answer 2

Нет. Код исполняется на сервере, а не передается по сети клиенту. Да и в минификации css и js в век всеобщего gzip мало. Но имеет смысл объединения мелких файлов в 1 - что бы меньше было запросов.

READ ALSO
Yii2 get request url

Yii2 get request url

Как сделать понятный url при get запросе с помощью ActiveForm

589
Выбрать дочернюю ноду TreeView wpf mvvm

Выбрать дочернюю ноду TreeView wpf mvvm

Доброго времени сутокНашел массу информации по интересующей проблеме, но ни один пример не удалось применить на своем проекте

655
Как добавить в TreeView картинку?

Как добавить в TreeView картинку?

В этом примере в зависимости от object value - название пункта дерева (типа string) определяется картинка в дереве

839