Download the PHP package ivoba/twig-asset-version-extension without Composer

On this page you can find all versions of the php package ivoba/twig-asset-version-extension. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package twig-asset-version-extension

Asset Version Twig Extension

Render versioned asset filenames in twig.

Build Status

Install

Use composer:

require ivoba/twig-asset-version-extension

Usage

In your twig files:

<script src="{{ asset_versioned('/dist/js/script.js') }}"></script>

This will render : /dist/js/script.12345.js

Where 12345 is by default the md5 content digest of the file.

The trick is to leave the file with the original filename: /dist/js/script.js
and let the webserver rewrite the url by pattern.

F.e, for the above pattern and apache mod_rewrite you could use:

RewriteRule ^dist/(.+)\.(.+)\.(js|css|png|jpg|gif)$ /dist/$1.$3 [L]

For nginx:

location ~* ^.+\.(dist)$ {
        rewrite ^(.+)\.(\d+)\.(dist)$ $1.$3 last;
        expires 31536000s;

Integration

Silex:

Register the Twig Extension:

$app['twig'] = $app->share($app->extend('twig', function ($twig, $app) {
    $twig->addExtension(new \Ivoba\AssetVersion\Twig\AssetVersionExtension(new \Ivoba\AssetVersion\Version\Md5ContentAssetVersion(),
                                                                           new \Ivoba\AssetVersion\Namer\DefaultNamer(),
                                                                            __DIR__. '/../web'));
    return $twig;
}));

Symfony:

Add this in your services.xml:

<service id="ivoba_asset_version.version.md5_content"
         class="Ivoba\AssetVersion\Version\Md5ContentAssetVersion">
</service>
<service id="ivoba_asset_version.namer.default"
         class="Ivoba\AssetVersion\Namer\DefaultNamer">
</service>
<service id="ivoba_asset_version.twig.asset_version_extension"
         class="Ivoba\AssetVersion\Twig\AssetVersionExtension">
    <argument type="service" id="ivoba_asset_version.version.md5_content"/>
    <argument type="service" id="ivoba_asset_version.namer.default"/>
    <argument>%asset_dir%</argument>
    <tag name="twig.extension"/>
</service>

Extend

You can create your own Version or Namer class by implementing their resp. interfaces and pass them to the extension.
F.e if you prefer timestamp as version or a different pattern in the filename.

In the Extension you can add options as 4th parameter, as for now it only offers options['asset.directory'], as standard directory for assets.

Credits

Read more about the idea:

http://www.particletree.com/notebook/automatically-version-your-css-and-javascript-files/

http://www.bephpug.de/folien/asset_fingerprinting_with_php_demo_2012-08-07.pdf


All versions of twig-asset-version-extension with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4
twig/extensions Version ~1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ivoba/twig-asset-version-extension contains the following files

Loading the files please wait ....