<?php
$cache_time = 600000;
$file = strrchr($_SERVER["SCRIPT_NAME"], "/");
$file = substr($file, 1);
$cache_file = "cache.$file.js";
if (file_exists($cache_file)) {
if ((time() - $cache_time) < filemtime($cache_file)) {
echo file_get_contents($cache_file);
exit;
}
}
//jquery bootstrap
$input_content.= file_get_contents( "catalog/view/javascript/ocdev_smart_checkout/jquery-1.7.1.min.js");
$input_content.= "var smch_old_jqury = jQuery.noConflict();";
$input_content.= file_get_contents( "catalog/view/javascript/jquery/jquery-2.1.1.min.js");
$input_content.= file_get_contents( "catalog/view/javascript/bootstrap/js/bootstrap.min.js");
$input_content.= file_get_contents( "catalog/view/javascript/common.js");
// Скрипты быстрого заказа
$input_content.= file_get_contents("catalog/view/javascript/ocdev_smart_checkout/ocdev_smart_checkout.js");
$input_content.= file_get_contents( "catalog/view/javascript/ocdev_smart_checkout/inputmask.js");
$input_content.= file_get_contents( "catalog/view/javascript/ocdev_smart_checkout/jquery.placeholder.js");
$input_content.= file_get_contents( "catalog/view/javascript/jquery/datetimepicker/moment.js");
$input_content.= file_get_contents( "catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.js");
//Разные
$input_content.= file_get_contents( "catalog/view/javascript/readmore.min.js");
$input_content.= file_get_contents( "catalog/view/javascript/blazy.min.js");
$input_content.= file_get_contents( "catalog/view/javascript/jquery/jquery.geoip-module.js");
$request = curl_init();
$post_data = 'compilation_level=SIMPLE_OPTIMIZATIONS'
.'&output_format=text'
.'&output_info=compiled_code'
.'&js_code='.urlencode($input_content);
curl_setopt_array($request, array(
CURLOPT_URL => 'https://closure-compiler.appspot.com/compile',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $post_data,
));
$result = curl_exec($request);
$handle = fopen($cache_file, 'w');
fwrite($handle, $result);
fclose($handle);
echo $result;
Если кому интересно решил проблему таким образом: все фаилы js записываются в одну переменную, далее отправляются в гугл для сжатия, после записываются в кеш фаил, если кеш уже есть и он не просрочен то читается он на этом функция завершается. Называйте фаил php как хотите, лучше располагать в корне сайта - так меньше геморроя с адресами.