Благодаря Эндрю .
Вот что сделал, чтобы использовать это в cakePHP:
- Скачать minify-2.1.7
- Распакуйте файл и скопируйте подпапку min в папку Vendor торта
Создает MinifyCodeHelper.php в View / Helper торта, как это:
App::import('Vendor/min/lib/Minify/', 'HTML');
App::import('Vendor/min/lib/Minify/', 'CommentPreserver');
App::import('Vendor/min/lib/Minify/CSS/', 'Compressor');
App::import('Vendor/min/lib/Minify/', 'CSS');
App::import('Vendor/min/lib/', 'JSMin');
class MinifyCodeHelper extends Helper {
public function afterRenderFile($file, $data) {
if( Configure::read('debug') < 1 ) //works only e production mode
$data = Minify_HTML::minify($data, array(
'cssMinifier' => array('Minify_CSS', 'minify'),
'jsMinifier' => array('JSMin', 'minify')
));
return $data;
}
}
Включен мой помощник в AppController
public $ helpers = array ('Html', '...', 'MinifyCode');
5 ... Вуаля!
Мой вывод: если на вашем сервере отключены модули apache deflate и headers, вы получаете на 21% меньше размера и на 0,35 с плюс в запросе на сжатие (это число было в моем случае)
Но если вы включили модули apache, сжатый ответ не имеет существенной разницы (1,3% для меня), и время сжатия составляет то же самое (0,3 с для меня).
Так ... почему я это сделал? все документы моего проекта в комментариях (php, css и js), и мой конечный пользователь не должен видеть это;)