Библиотека упаковок PHP

кто-то знает отличную библиотеку управления активами / упаковкой для PHP, которая делает развертывание и оптимизацию активов (изображений, css, js) очень легкими, как Jammit for Rails .

Related of "Библиотека упаковок PHP"

Я не знаю каких-либо интегрированных, но вы, вероятно, можете начать с объединения 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 .