Package Data | |
---|---|
Maintainer Username: | radic |
Maintainer Contact: | robin@laradic.nl (Robin Radic) |
Package Create Date: | 2016-08-07 |
Package Last Update: | 2018-01-26 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-18 03:04:57 |
Package Statistics | |
---|---|
Total Downloads: | 30 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Laradic Assets is a package for the Laravel 5 framework. It's made for Laravel 5.4+ and PHP 7.0+ .
The package follows the FIG standards PSR-1, PSR-2, and PSR-4 to ensure a high level of interoperability between shared PHP code.
composer require laradic/assets "~1.0"
Alternatively, for some of the Assetic filters to work you might need one of the following:
{
"leafo/lessphp": "^0.3.7",
"leafo/scssphp": "~0.1",
"meenie/javascript-packer": "^1.1",
"mrclay/minify": "<2.3",
"natxet/cssmin": "3.0.4",
"patchwork/jsqueeze": "~1.0|~2.0",
"ptachoire/cssembed": "~1.0",
"twig/twig": "~1.23|~2.0"
}
For the full documenation, check out the Laradic Assets package documenatation.
The laradic/assets
package is a Laravel 5 asset manager. It uses Assetic
's filters in order to provide high functionality.
It provides a convienient way to handle your assets.
Asset
can be defined and compiledcache_path
. Returns an instance of Compiler\Compiled
Asset
s can be Group
ed inside Area
s. You could consider Area
to be a 'group of groups'. You could for example create package-name/frontend
and package-name/admin
.Group
s, you will have to define at least 1 Area
This will make a Asset
instance based on the given params. See the Asset
documentation for posibilities.
$asset = Asset::create('script', 'global/plugins/jquery.min.js');
This will run all configured filters on the asset and write the result to the cache_path
. Returns an instance of Compiler\Compiled
$compiled = Asset::compile('script', 'global/plugins/jquery.min.js');
echo $compiled->getUrl(); # full url to the compiled asset
echo $compiled->getHtml(); # script/link html tag
echo $compiled->getUri(); # uri to the compiled asset
echo $compiled->getPath(); # absolute file path to the compiled asset
Grouping assets brings a few advantages:
Asset
s within its Group
Group
s within its Area
Area
s, Group
s and Asset
s.$area = Asset::area('area/package');
$group = $area->group('global');
$group->add('bootstrap', 'css/bootstrap.css');
$group->add('font-awesome', 'global/plugins/font-awesome/css/font-awesome.min.css', 'bootstrap');
Asset::area('area/package')
->group('global')
->add('bootstrap', 'css/bootstrap.css')
->add('font-awesome', 'global/plugins/font-awesome/css/font-awesome.min.css', 'bootstrap');
// At a later point, you can continue adding
Asset::area('area/package')
->group('global')
->add('simple-line-icons', 'global/plugins/simple-line-icons/simple-line-icons.min.css', 'bootstrap')
->add('uniform', 'global/plugins/uniform/css/uniform.default.css', 'bootstrap');
After being done with defining the area/group, you can manually trigger compilation and use the Compiler\Compiled::getHtml
method to output it.
Asset::area('area/package')
->group('global')
->compile('script', $combine = true)
->getHtml();
The Asset
facade links to the Factory
class instance. The area, group and asset definition utilize the NamespacedItemResolver
.
This means some Factory
methods accept such definitions:
// Query
Asset::query
// Compiles the scripts in group
Asset::compile('script', 'area/package::global', $combine = true)->getHtml();