Php 如何在zf2中使用asset manager?

Php 如何在zf2中使用asset manager?,php,zend-framework2,browser-cache,asset-management,Php,Zend Framework2,Browser Cache,Asset Management,我在zf2中构建了一个应用程序,所有的js、css和图像都在公共目录中。所有phtml文件中需要的js和css文件在应用程序模块的layout.phtml中声明 echo $this->headLink ( ) ->prependStylesheet ( $this->basePath () . '/css/owl.carousel.css' ) ->prependStylesheet ( $this->ba

我在zf2中构建了一个应用程序,所有的js、css和图像都在公共目录中。所有phtml文件中需要的js和css文件在应用程序模块的layout.phtml中声明

echo $this->headLink (  )
              ->prependStylesheet ( $this->basePath () . '/css/owl.carousel.css' )
              ->prependStylesheet ( $this->basePath () . '/css/owl.theme.css' );

<script type="text/javascript" src="/js/layout.js"></script>         
<script type="text/javascript" src="/assets/bootstrap-fileupload/bootstrap-fileupload.js"></script>
<script src="/js/custom.js"></script>

正如你们所见,我已经将htaccess配置为只缓存图像,但浏览器正在自动缓存js和css文件。我可以按ctrl-f5键,但如何告诉用户按ctrl-f5键呢。在搜索过程中,我接触了罗斯资产管理公司。我想跟着这个走。我有一些疑问,比如如何使用它在不同的phtml文件中包含js或css文件?在现有的ZF2应用程序中使用它需要多少更改?还是有更好选择的人?如果有人已经实现了这一点,那么请分享一些代码片段

这与您的.htacces或资产的实现无关

浏览器只要能够缓存css和js文件就行了。有很多方法可以强制“刷新”或只提供新文件,您可以在这里找到


不过,除非你真的必须这样做,否则我不建议你处理这个问题,因为浏览器确实会缓存它是有原因的。

谢谢你的澄清。我想要缓存js、css文件,但当我对任何文件进行任何更改时,用户应该会有最新的更改。在阅读了你发布的链接后,我知道这可以通过两种方式实现:一种是向文件url添加一些查询字符串,另一种是google PageSpeed插件。如果您使用过其中任何一种,请帮助我找出哪一种更好?我个人使用了简单的客户端技术。这是最简单的imo。你可以为你的js/css创建一个版本控制,或者只是让它创建版本,这样就不会有人缓存你的css/js。
# Enable expirations
ExpiresActive On

# My favicon
ExpiresByType image/x-icon "access plus 1 year�

# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"