This plugin was developed to facilitate Minify use with CakePHP
Minify is an application that combines multiple CSS or Javascript files, removes unnecessary whitespace and comments, and serves them with gzip encoding and optimal client-side cache headers.
More info: http://code.google.com/p/minify
For this plugin, the Minify application is inside Vendor
Written for CakePHP 2.x
Copyright (c) 2011 Maury M. Marques
You can install this plugin using Composer, GIT Submodule, GIT Clone or Manually
[Using Composer]
Add the plugin to your project's composer.json
- something like this:
{
"require": {
"maurymmarques/minify-plugin": "dev-master"
},
"extra": {
"installer-paths": {
"app/Plugin/Minify": ["maurymmarques/minify-plugin"]
}
}
}
Then just run composer install
Because this plugin has the type cakephp-plugin
set in it's own composer.json
, composer knows to install it inside your /Plugin
directory, rather than in the usual vendors file.
[GIT Submodule]
In your app directory (app/Plugin
) type:
git submodule add git://github.com/maurymmarques/minify-cakephp.git Plugin/Minify
git submodule init
git submodule update
[GIT Clone]
In your plugin directory (app/Plugin
or plugins
) type:
git clone https://github.com/maurymmarques/minify-cakephp.git Minify
[Manual]
- Download the Minify archive.
- Unzip that download.
- Rename the resulting folder to
Minify
- Then copy this folder into
app/Plugin/
orplugins
Bootstrap the plugin in app/Config/bootstrap.php:
CakePlugin::load(array('Minify' => array('routes' => true)));
Set the configuration file in your app/Config/core.php
Configure::write('MinifyAsset', true);
If you do not want to use compression, set false
.
Create a folder called "minify" in app/tmp/cache
and give it permission to read and write.
Enable the helper using the plugin syntax
class BakeriesController extends AppController {
public $helpers = array('Minify.Minify');
}
This plugin uses HtmlHelper, and virtually it works in the same way.
In the view you can use something like:
echo $this->Minify->css(array('default', 'global'));
echo $this->Minify->script(array('jquery', 'interface'));