jeroenvdheuve / assetic-cache-busting-worker-bundle
Assetic cache busting worker bundle. Uses the assetic cache busting worker to add a hash to the filename based on file content.
Installs: 11 374
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 3
Open Issues: 1
Type:symfony-bundle
Requires
- jeroenvdheuve/assetic-cache-busting-worker: ~1.0
- symfony/config: ~2.3|~3.0
- symfony/dependency-injection: ~2.3|~3.0
- symfony/http-kernel: ~2.3|~3.0
- symfony/yaml: ~2.3|~3.0
Requires (Dev)
- phpunit/phpunit: >=4,<6
Suggests
- jeroenvdheuve/assetic-cached-worker: Assetic cached worker can make twig cache generation faster. Each asset is only compiled once and cached is used after the first time.
This package is not auto-updated.
Last update: 2023-05-27 10:30:30 UTC
README
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.