在Symfony2中,如何在资产文件名中附加日期

mik*_*ike 2 symfony assetic

我在symfony中使用资产,我想在它创建的文件名末尾附加一个时间戳或日期字符串.

这样做的目的是更多地控制浏览器缓存,所以每次运行assetic:dump时,我所有编译的资产都将有一个新的文件名,用户浏览器将下载新文件.

这是阻止浏览器使用旧(缓存)资产文件的最佳方法吗?

如果是,我如何将时间戳附加到文件名?

Tom*_*ski 7

我建议,为了控制浏览器的缓存,请执行以下操作:

应用程序/配置/ config.yml

framework:
   templating:
       assets_version: %assets_version%
Run Code Online (Sandbox Code Playgroud)

此设置将使?vX资产附加到资产URL(X是您的%asset_version%参数).

parameters.yml

parameters:
    assets_version: 1
Run Code Online (Sandbox Code Playgroud)

每次要部署新版资产并使用户浏览器获取新内容时,您需要更改资产版本.

还有AssetsVersionBundle,它可以%assets_version%为您增加命令.只需输入

app/console assets_version:increase
Run Code Online (Sandbox Code Playgroud)

此捆绑包的文档很好地涵盖了资产版本控制问题