поэтому я попытался интегрировать каркас minify и zend
http://code.google.com/p/minify/
В основном я скопировал содержимое файла index.php minify в действие zend:
и изменил третью строку с
define('MINIFY_MIN_DIR', dirname(__FILE__));
на
define('MINIFY_MIN_DIR', 'Z:\wamp2\www\min');
, где находится папка minify
, вот полное действие:
public function test2Action()
{
define('MINIFY_MIN_DIR', 'Z:\wamp2\www\min');
// load config
require MINIFY_MIN_DIR . '/config.php';
// setup include path
set_include_path($min_libPath . PATH_SEPARATOR . get_include_path());
require 'Minify.php';
Minify::$uploaderHoursBehind = $min_uploaderHoursBehind;
Minify::setCache(
isset($min_cachePath) ? $min_cachePath : ''
,$min_cacheFileLocking
);
if ($min_documentRoot) {
$_SERVER['DOCUMENT_ROOT'] = $min_documentRoot;
} elseif (0 === stripos(PHP_OS, 'win')) {
Minify::setDocRoot(); // IIS may need help
}
$min_serveOptions['minifierOptions']['text/css']['symlinks'] = $min_symlinks;
if ($min_allowDebugFlag && isset($_GET['debug'])) {
$min_serveOptions['debug'] = true;
}
if ($min_errorLogger) {
require_once 'Minify/Logger.php';
if (true === $min_errorLogger) {
require_once 'FirePHP.php';
Minify_Logger::setLogger(FirePHP::getInstance(true));
} else {
Minify_Logger::setLogger($min_errorLogger);
}
}
// check for URI versioning
if (preg_match('/&\\d/', $_SERVER['QUERY_STRING'])) {
$min_serveOptions['maxAge'] = 31536000;
}
if (isset($_GET['g'])) {
// well need groups config
$min_serveOptions['minApp']['groups'] = (require MINIFY_MIN_DIR . '/groupsConfig.php');
}
if (isset($_GET['f']) || isset($_GET['g'])) {
// serve!
Minify::serve('MinApp', $min_serveOptions);
//echo Minify::combine(array('//css/DisplayHelpers/DisplayObject.css'),$min_serveOptions);
} else{
echo 'fail';
}
// action body
}
обратите внимание на эти строки ... Я добавил закомментированную строку объединения
Minify::serve('MinApp', $min_serveOptions);
//echo Minify::combine(array('//css/DisplayHelpers/DisplayObject.css'),$min_serveOptions);
строка Minify::serve('MinApp', $min_serveOptions);
находится в исходном index.php .... если я ее там оставлю, он не вернет правильные минифайды должным образом и вместо этого вернет немного сумасшедшего бреда, когда я перейду к http://localhost/tester/test2?f=/css/DisplayHelpers/DisplayObject.css
...
с другой стороны, когда я перейду к http://localhost/min?f=/css/DisplayHelpers/DisplayObject.css
, который использует index.php minifyс другой стороны, он будет работать правильно
, если я раскомментирую строку объединения и прокомментирую строку подачи, она также будет работать правильно, но не будет выполнять кэширование и т. д.
любые идеи о том, какразрешить использование обычного метода serve в действии zend, чтобы я мог использовать thкеш?