jeroenvdheuve/assetic-cache-busting-worker-bundle

This package is abandoned and no longer maintained. No replacement package was suggested.

Assetic cache busting worker bundle. Uses the assetic cache busting worker to add a hash to the filename based on file content.

v1.0.3 2016-03-09 08:03 UTC

This package is not auto-updated.

Last update: 2023-05-27 10:30:30 UTC


README

Master: Build Status

Description

This bundle makes it easy automatically change file names of files controlled by assetic like Javascript Stylesheet files. The CacheBustingWorker adds a hash to the filename. This hash is generated by using the content of the file. Because this CacheBustingWorker does not use file modification time to generate the hash, it also works well with systems that don not care about file modification time (like git).

Enable this bundle by registering the bundle

# AppKernel.php

public function registerBundles()
{
    $bundles = array(
        ...
        new jvdh\AsseticCacheBustingBundle\JvdhAsseticCacheBustingBundle()
    );
}

and by enabling it a config file.

# app/config/config.yml

jvdh_assetic_cache_busting:
    enabled: true

Hash separator separates the file from the hash. A dash / - is the default separator. When minifying a javascript.js file. The CacheBustingWorker will change the name to javascript-HASH.js

# app/config/config.yml

jvdh_assetic_cache_busting:
    enabled: true
    separator: -

Hash length is 8 characters by default. When increasing the hash length, always check if the hash algorithm creates hashes that long. For instance md5 creates hashes of only 32 characters.

# app/config/config.yml

jvdh_assetic_cache_busting:
    enabled: true
    hash_length: 32

Hash algorithm is sha1 by default. Any hash algorithm supported by the php function hash is fine to use. A different algorithm might improve the speed of generating changing the file name.

# app/config/config.yml

jvdh_assetic_cache_busting:
    enabled: true
    hash_algorithm: md5

When the file names only need to contain the hash in production. It is possible to register the bundle only in production mode. It is also possible to enable the cache busting in for instance the app/config/config_prod.yml file that is only loaded in production mode.