mirko-pagliai / cakephp-assets
Assets plugin for CakePHP
Installs: 33 716
Dependents: 3
Suggesters: 1
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=8.1
- cakephp/cakephp: ^5.0
- matthiasmullie/minify: ^1.3
- mirko-pagliai/php-tools: ~1.9.2
Requires (Dev)
- cakephp/cakephp-codesniffer: ^5.0
- phpstan/phpstan: ^1.10.38
- phpunit/phpunit: ^10.1.0 <=10.5.3
- vimeo/psalm: ^5.15.0
This package is auto-updated.
Last update: 2024-11-10 15:23:35 UTC
README
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.
Did you like this plugin? Its development requires a lot of time for me. Please consider the possibility of making a donation: even a coffee is enough! Thank you.
Installation
You can install the plugin via composer:
$ composer require --prefer-dist mirko-pagliai/cakephp-assets
Then you have to load the plugin. For more information on how to load the plugin, please refer to the Cookbook.
Simply, you can execute the shell command to enable the plugin:
bin/cake plugin load Assets
This would update your application's bootstrap method.
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 the Configuration section.
Installation on older CakePHP and PHP versions
Recent packages and the master branch require at least CakePHP 5.0 and PHP 8.1 and the current development of the code is based on these and later versions of CakePHP and PHP. However, there are still some branches compatible with previous versions of CakePHP and PHP.
For PHP 7.2 and CakePHP 4 or later
The cakephp4 branch
requires at least PHP >=7.2
and CakePHP ^4.0
.
In this case, you can install the package as well:
$ composer require --prefer-dist mirko-pagliai/cakephp-assets:dev-cakephp4
Note that the cakephp4
branch will no longer be updated as of January 5, 2024,
except for security patches, and it matches the
1.5.13 version.
For PHP 5.6 and CakePHP 3 or later
The cakephp3 branch requires at least PHP 5.6 and CakePHP 3.
In this case, you can install the package as well:
$ composer require --prefer-dist mirko-pagliai/cakephp-assets:dev-cakephp3
Note that the cakephp3
branch will no longer be updated as of April 27, 2021,
except for security patches, and it matches the
1.5.4 version.
Configuration
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 APP/config/app.php
of your application.
Configuration values
Configure::write('Assets.force', false);
Setting Assets.force
to true
, the assets will be used even if debugging is
enabled.
Configure::write('Assets.target', TMP . 'assets');
Setting 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 css()
and
script()
methods, similar to the methods provided by the HtmlHelper
.
The syntax is the same, you just have to change the name helper. Example for
AssetHelper::css()
.
echo $this->Asset->css(['one.css', 'two.css']);
This will combine and compress one.css
and two.css
files, creating a unique
asset file, and will create a link element for CSS stylesheets, as does the
method provided by the HtmlHelper
.
The same also applies to the AssetHelper::script()
method.
Refer to our API.
Versioning
For transparency and insight into our release cycle and to maintain backward compatibility, cakephp-assets will be maintained under the Semantic Versioning guidelines.