twig extension asset description - Ppito/zf3-framework GitHub Wiki
Extension Twig
permettant la gestion du versionning des fichiers statique.
Lors de la compilation des fichiers JS/CSS avec Webpack, il est possible d'utiliser un sytème de versionning.
Ce système créer un fichier manifest.json
avec la correspondance des fichiers statique et leurs fichiers versionnés.
{
"build/css/style.css": "/build/css/style.1f3a0aa971243ce2501709804dc5d8cd.css",
"build/js/app.js": "/build/js/app.f02fcb5b578fa3dd8b6a.js",
"build/js/common.js": "/build/js/common.0168ce2b2394736dbacd.js",
"build/manifest.js": "/build/manifest.d41d8cd98f00b204e980.js"
}
Cette fonction regarde dans la liste des fichiers de configuration d'asset (préalablement renseigné), s'il trouve une correspondance entre le nom passé en paramètre et le fichier versionné, dans le cas contraire le nom du fichier original est retourné.
<script type="text/javascript" src="{{ asset('build/manifest.js') }}"></script>
{# <script type="text/javascript" src="/build/manifest.d41d8cd98f00b204e980.js"></script> #}
<script type="text/javascript" src="{{ asset('build/toto.js') }}"></script>
{# <script type="text/javascript" src="/build/toto.js"></script> #}
Ce système d'asset/versionning permet d'éviter tout problème de cache, car Webpack changera le nom du fichier après chaque modification.