Assets plugin for CakePHP
- php: >=5.5.9
- cakephp/cakephp: ^3.7
- jeffersonsimaogoncalves/php-tools: ^1.3
- matthiasmullie/minify: ^1.3
- cakephp/cakephp-codesniffer: ^3.0
- phpunit/phpunit: ^5.7.14|^6.0
cakephp-assets is a CakePHP plugin to allows you to handle and generate assets.
It uses matthiasmullie/minify and provides a convenient helper that allows you to combine multiple asset files into one single compressed file.
You can install the plugin via composer:
$ composer require --prefer-dist jeffersonsimaongoncalves/cakephp-assets
NOTE: the latest version available requires at least CakePHP 3.7.
Instead, the cakephp3.2
branch is compatible with all previous versions of CakePHP from version 3.2.4.
This branch coincides with the 1.4 version of cakephp-assets and in any case it will no longer receive new features but only bugfixes.
In this case, you can install the package as well:
$ composer require --prefer-dist jeffersonsimaongoncalves/cakephp-assets:dev-cakephp3.2
After installation, you have to edit
APP/config/bootstrap.php to load the plugin:
Plugin::load('JeffersonSimaoGoncalves/Assets', ['bootstrap' => true, 'routes' => true]);
For more information on how to load the plugin, please refer to the Cookbook.
By default the plugin uses the
APP/tmp/assets directory to save the
asset files. So you have to create the directory and make it writable:
$ mkdir tmp/assets && chmod 775 tmp/assets
If you want to use a different directory, read below.
The plugin uses some configuration parameters and you can set them using the
\Cake\Core\Configure class, before loading the plugin.
For example, you can do this at the bottom of the file
of your application.
true, the assets will be used even if debugging is
Configure::write('Assets.target', TMP . 'assets');
Assets.target, you can use another directory where the plugin will
generate the assets.
How to use
You have to use only the
AssetHelper. This helper provides
script() methods, similar to the methods provided by the
The syntax is the same, you just have to change the name helper. Example for
echo $this->Asset->css(['one.css', 'two.css']);
This will combine and compress
two.css files, creating a unique
asset file, and will create a link element for CSS stylesheets, as does the
method provided by the
The same also applies to the
For transparency and insight into our release cycle and to maintain backward compatibility, cakephp-assets will be maintained under the Semantic Versioning guidelines.
This work is based on the code by Mirko Pagliai.