php - 有没有办法强制 Yii 在每次请求时重新加载模块资源?

标签 php yii refresh reload assets

我的网站分为多个单独的模块。每个模块在 /protected/modules/my_module/assets/cssjs 中都有自己特定的 css 或 js 文件。当我第一次使用使用我的资源的页面时,Yiis 资源管理器会创建文件夹。 不幸的是,如果我更改文件中的某些内容 - Yii 不会重新加载我的 css 或 js 文件。我必须手动删除 /projects/assets 文件夹。当你开发应用程序时,这真的很烦人。

有没有办法强制 Yii 在每次请求时重新加载资源?

最佳答案

components/Controller.php中添加以下内容(或调整现有的beforeAction):

protected function beforeAction($action){
    if(defined('YII_DEBUG') && YII_DEBUG){
        Yii::app()->assetManager->forceCopy = true;
    }
    return parent::beforeAction($action);
}

在开始任何操作之前,应用程序将检查您是否处于 Debug模式,如果是,则将 Assets 管理器设置为在每次页面加载时强制重新复制所有 Assets 。

参见:http://www.yiiframework.com/doc/api/1.1/CAssetManager#forceCopy-detail

我还没有对此进行测试,但根据文档,我相信它应该可以正常工作。

注意:此代码在 beforeAction 中的放置位置只是其放置位置的一个示例。您只需在调用 publish() 之前将 forceCopy 属性设置为 true,并将其放在 beforeAction 中即可实现该目标。

关于php - 有没有办法强制 Yii 在每次请求时重新加载模块资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15614364/

相关文章:

php - 在 yiimongodbsuite 中插入嵌入式文档

java - Eclipse 插件 - 刷新 eclipse 项目中的链接文件夹

php - 什么是与 CodeIgniter 一起使用的好的博客系统?

php - 使用 Laravel 一次插入多条记录

php - 提取数据并将其打印在 HTML 表格中

mysql - 在 Yii 中通过 CDbCriteria 选择一个表达式

php - 如何为 Android 应用程序实现 OAuth2 和 PHP Rest Api

yii - 无法使用 yii 的 passwordhelper 验证散列密码

jQuery - 在页面重新加载后保留添加的 onclick css

java - Swing PropertyChangeSupport 从文件读取后刷新 GUI