PHPackages                             spatie/asset-helper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. spatie/asset-helper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

spatie/asset-helper
===================

Get the url to a revisioned asset

2.0.0(10y ago)238783MITPHPPHP ^5.6.0|^7.0

Since Aug 30Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/spatie/asset-helper)[ Packagist](https://packagist.org/packages/spatie/asset-helper)[ Docs](https://github.com/spatie/asset-helper)[ RSS](/packages/spatie-asset-helper/feed)WikiDiscussions master Synced today

READMEChangelog (5)Dependencies (1)Versions (8)Used By (0)

Get the url to a revisioned asset
=================================

[](#get-the-url-to-a-revisioned-asset)

[![Latest Stable Version](https://camo.githubusercontent.com/e7b460b757bd0e35f8bcb88eb96d60b1164eb1739bf2e597b3bea48b240d127f/68747470733a2f2f706f7365722e707567782e6f72672f7370617469652f61737365742d68656c7065722f76657273696f6e2e706e67)](https://packagist.org/packages/spatie/asset-helper)[![License](https://camo.githubusercontent.com/9dc1f40cecc6227ea48ff036d8646180137b8485a81f4d4ff8c9efd1880ab0c7/68747470733a2f2f706f7365722e707567782e6f72672f7370617469652f61737365742d68656c7065722f6c6963656e73652e706e67)](https://packagist.org/packages/spatie/asset-helper)

This Laravel 4 package enables you to get an url to a revisioned asset.

That sounds a bit vague, right? Let me clear it up by showing an example. Calling this provided method `Asset::getUrl('admin.css')` returns `/assets/admin.0ce5cb43.css`

This package assumes that your asset pipeline:

- saves all of your assets in one public folder.
- puts a random string in the filename of every asset as a cache-busting mechanism

Spatie is a webdesign agency in Antwerp, Belgium. You'll find an overview of all our open source projects [on our website](https://spatie.be/opensource).

Support us
----------

[](#support-us)

Learn how to create a package like this one, by watching our premium video course:

[![Laravel Package training](https://camo.githubusercontent.com/4c7f3720a29525e627f6004ee367e55def510e45d18e6bc974725812fa5cf257/68747470733a2f2f7370617469652e62652f6769746875622f7061636b6167652d747261696e696e672e6a7067)](https://laravelpackage.training)

We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).

Postcardware
------------

[](#postcardware)

You're free to use this package (it's [MIT-licensed](LICENSE.md)), but if it makes it to your production environment you are required to send us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.

The best postcards will get published on the open source page on our website.

\##Installation The package can be installed through Composer:

```
composer require spatie/asset-helper

```

This service provider must be installed:

```
//for laravel  [
    ...
    'Spatie\AssetHelper\AssetHelperServiceProvider'
    ...
];
```

This package also comes with a facade, which provides an easy way to call the the functionality.

```
//for laravel  array(
	...
	'Asset' => 'Spatie\AssetHelper\AssetHelperFacade',
	...
)
```

\##Configuration You can publish the configuration file using this command:

```
php artisan config:publish spatie/asset-helper
```

A configuration-file with some sensible defaults will be placed in your config/packages directory:

```
return
    [
        /**
         * The url that points to the directory were your assets are stored
         *
         */
        'assetDirectoryUrl'         =>  '/assets',
    ];
```

\##Usage `Asset::getUrl($nonRevisionedAssetName)` takes a non-revisioned asset name and it returns the url to the revisioned asset.

\##Example Let's assume the public path of your website is `/home/forge/yourwebsite.be/public` and that your asset pipeline stores the minified, uglified, ... and whatnot assets in this directory: `/home/forge/yourwebsite.be/public/assets`

Suppose this is the contents of that directory:

- admin.0ce5cb43.css
- admin.defer.adc60631.js
- admin.head.1954b61c.js
- front.0b4c09c7.css
- front.defer.1ba6b072.js
- front.head.1954b61c.js

As a cache-busting mechanism your asset pipeline probably puts a random string in the filename of the asset. In the example above this is '0ce5cb43', 'adc60631', '1954b61c.js', ...

Calling `Asset::getUrl('admin.css')` returns `/assets/admin.0ce5cb43.css`

So your layout file could look something like this:

```
DOCTYPE html>

    ...
