tooleks / laravel-asset-version
The Laravel Assets Versioning Package
Installs: 44 585
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 3
Open Issues: 0
Requires
- php: ~7.0
Requires (Dev)
- laravel/framework: 5.3.*
- phpunit/phpunit: 5.5.*
This package is not auto-updated.
Last update: 2024-11-19 22:30:02 UTC
README
This package performs versioning of the asset URL resources.
Asset link before versioning:
https://website.domain/path/to/asset.css
Asset link after versioning:
https://website.domain/path/to/asset.css?v=0.0.1
Requirements
PHP >= 7.0, Laravel >= 5.0.
Installation
Package Installation
Execute the following command to get the latest version of the package:
composer require tooleks/laravel-asset-version
App Configuration
Service Registration
To register the service simply add Tooleks\LaravelAssetVersion\Providers\AssetServiceProvider::class
into your config/app.php
to the end of the providers
array:
'providers' => [ ... Tooleks\LaravelAssetVersion\Providers\AssetServiceProvider::class, ],
If you prefer to use the service via facade interface add 'Asset' => Tooleks\LaravelAssetVersion\Facades\Asset::class
into your config/app.php
to the end of the aliases
array:
'aliases' => [ ... 'Asset' => Tooleks\LaravelAssetVersion\Facades\Asset::class, ],
Publishing File Resources
Run following command in the terminal to publish the package file resources:
php artisan vendor:publish --provider="Tooleks\LaravelAssetVersion\Providers\AssetServiceProvider" --tag="config"
Configure Assets Version
Configure assets version number in the config/assets.php
:
... 'version' => '0.0.1', ...
Basic Usage Examples
Via Service Object
use Tooleks\LaravelAssetVersion\Contracts\AssetServiceContract; $assetUrl = app(AssetServiceContract::class)->get('path/to/asset.css'); // 'http://website.domain/path/to/asset.css?v=0.0.1' $secureAssetUrl = app(AssetServiceContract::class)->get('path/to/asset.css', true); // 'https://website.domain/path/to/asset.css?v=0.0.1'
Note: Secure option will be detected automatically if no second argument will be passed into the function and secure
option configured to null
in the config/assets.php
:
... 'secure' => null, ...
Via Service Facade Class
use Tooleks\LaravelAssetVersion\Facades\Asset; $assetUrl = Asset::get('path/to/asset.css'); // 'http://website.domain/path/to/asset.css?v=0.0.1' $secureAssetUrl = Asset::get('path/to/asset.css', true); // 'https://website.domain/path/to/asset.css?v=0.0.1'
Note: Secure option will be detected automatically if no second argument will be passed into the function and secure
option configured to null
in the config/assets.php
:
... 'secure' => null, ...
In The Layout (Blade Template)
<link href="{{ Asset::get('path/to/asset.css') }}" rel="stylesheet" type="text/css">
In The Layout (PHP Template)
<link href="<?= Asset::get('path/to/asset.css') ?>" rel="stylesheet" type="text/css">