The Laravel 5 Assets Versioning Package
This package performs versioning of the asset URL resources., (*1)
Asset link before versioning:, (*2)
https://website.domain/path/to/asset.css
Asset link after versioning:, (*3)
https://website.domain/path/to/asset.css?v=0.0.1
Requirements
PHP >= 7.0, Laravel >= 5.0., (*4)
Installation
Package Installation
Execute the following command to get the latest version of the package:, (*5)
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:, (*6)
'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:, (*7)
'aliases' => [
...
'Asset' => Tooleks\LaravelAssetVersion\Facades\Asset::class,
],
Publishing File Resources
Run following command in the terminal to publish the package file resources:, (*8)
php artisan vendor:publish --provider="Tooleks\LaravelAssetVersion\Providers\AssetServiceProvider" --tag="config"
Configure assets version number in the config/assets.php
:, (*9)
...
'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
:, (*10)
...
'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
:, (*11)
...
'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">