кто-то знает отличную библиотеку управления активами / упаковкой для PHP, которая делает развертывание и оптимизацию активов (изображений, css, js) очень легкими, как Jammit for Rails .
Я не знаю каких-либо интегрированных, но вы, вероятно, можете начать с объединения JSMin и CSSMin в один для файлов javascript и CSS соответственно.
Что касается изображений, я не уверен, как вы хотите их оптимизировать. Что-то вроде сжатия на 75% JPEG?
Я использую Apache ant для создания моих мини-версий CSS и JS, это также очень удобно для выполнения других связанных задач сборки.
Мой файл build.xml выглядит так:
<concat destfile="global.concat.css" fixlastline="yes"> <fileset file="skeleton/stylesheets/base.css" /> <fileset file="skeleton/stylesheets/skeleton.css" /> <fileset file="skeleton/stylesheets/layout.css" /> <fileset file="global.css" /> </concat> <exec executable="java"> <arg value="-jar" /> <arg value="/usr/bin/yuicompressor.jar"/> <arg path="global.concat.css" /> <arg value="-o" /> <arg value="global.min.css" /> </exec>
Около года назад я написал небольшую библиотеку под названием Packtacular .
Если честно, если я посмотрю на это сейчас, есть много вещей, которые я бы сделал сегодня.
Хорошая вещь в том, что его действительно просто использовать. Вы можете просто сказать Packtacular путь, который содержит файлы, и он объединит их вместе и позаботится, если один из них изменится (Wich делает развертывание довольно простым).
Packtacular::css( 'assets/css/', 'cache/stylesheet_:time.css' );
В этом примере он будет принимать все файлы .css
внутри assets/css/
и объединить их в один файл в cache/stylesheet_:time.css
. :time
представляет :time
метку «новейшего» файла. У вас есть проблемы с кешем браузера.
Сжатие или оптимизация активов, которые вы должны реализовать с помощью собственных фильтров:
Packtacular::filter( 'css', function( $data ) { // do some cool stuff with $data return $data; });
Если вы ищете что-то простое на основе PHP, это может сработать для вас. Но если нужно что-то большее, я бы предложил использовать Grunt или Assetic .