Assetic for CakePHP
Built to seamlessly integrate Assetic with CakePHP., (*1)
This is an unstable repository and should be treated as an alpha., (*2)
UPDATE: Now that @mark_story has released markstory/asset_compress, I have stopped actively developing this plugin., (*3)
Install
composer require gourmet/assetic:*
or by adding this package to your project's composer.json:, (*4)
"require": {
"gourmet/assetic": "*"
}
Usage
The AsseticHelper methods work somewhat like their HtmlHelper counter-parts
but with some added options., (*5)
The methods are:, (*6)
-
css($path, $options)
-
image($path, $options)
-
script($url, _$options)
The added $options keys are:, (*7)
-
debug: boolean Defaults to app's configuration
debug value.
-
output: string Name of the Assetic created asset.
-
filters: array|string Filter(s) to use. Defaults to the configured
filters for the asset type (css, image, js).
The $path passed to css() and the $url passed to script can be passed
as a string or as an associative array (see examples below)., (*8)
Examples
echo $this->Assetic->css('cake.generic', ['debug' => false, 'filters' => 'cssmin']);
echo $this->Assetic->css(['cake.generic' => 'cssmin'], ['debug' => false]);
echo $this->Assetic->css('cake.generic');
All the above examples will have the same result, including the minified version
of cake.generic.css. For the last example, it is assumed that the value of
the Assetic.cssFilters configuration contains at least the cssmin key., (*9)
$this->Assetic->css('cake.generic', ['filters' => 'cssmin,?uglify']);
In the above example, when in debug mode, only the cssmin filter will be run., (*10)