PHP скрипт Инструменты сжатия/компиляции

Существуют ли более общие инструменты, которые могут "скомпилировать" или в основном объединить несколько файлов PHP в один файл на основе включений и классов автозагрузки? Я думаю о чем-то подобном функции компиляции Doctrine или компиляции, которую многие из основных JS-фреймворков делают для "производственных" сайтов, чтобы облегчить размер файла и повысить производительность.

Прежде чем писать script, чтобы сделать это сам, я просто хочу узнать, есть ли что-то, что стоит посмотреть, уже существует (Google пока не очень помог).

Изменить: Я на самом деле написал сообщение в блоге о формате .phar archive и очень возбужден об этом. Меня больше беспокоило производительность, но похоже, что слияние файлов не принесет никакой пользы.

Есть ли у кого-нибудь реальные данные, которые могут предполагать увеличение производительности (или отсутствие) для объединения нескольких сценариев в один файл?

4 ответа

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


Я не программист php, но я видел что-то под названием "phar" file. Это похоже на jar для php. может быть, u shud заглянуть в это

Быстрый поиск в Google показывает

http://pear.php.net/pepr/pepr-proposal-show.php?id=88

http://www.pixelated-dreams.com/archives/78-PHAR-PHPs-Answer-to-.jar.html


Я столкнулся с YUI Compressor for.NET, который размещен на codeplex.

Он сжимает файлы JavaScript и CSS в вашем проекте.

Я еще не пробовал, но меня это очень интересует.

Вы можете легко интегрировать его в свой msbuild script.

Для получения дополнительной информации вы можете посетить http://developer.yahoo.com/yui/compressor/


Как сказал кто-то, Phar - это то, что вы ищете. Но я не думаю, что это увеличит производительность. И он будет доступен в следующей версии PHP.

licensed under cc by-sa 3.0 with attribution.