如何缓存脚本

How to Cache a Script?

本文关键字:脚本 缓存 何缓存      更新时间:2023-09-26

在我的应用程序中,有一个视图Upload.php

我想缓存负责在页面上生成文件列表的脚本,因为它是非常静态的,不会经常更改。

代码:

<!-- DOWNLOAD TEMPLATE -->      
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade" search-name="{%=file.name%}">
    {% if (file.error) { %}
        <td class="name">
            <span class="delete"><input type="checkbox" name="delete" value="1" class="nomargin"></span>
            <span >{%=file.name%}</span>
        </td>
        <td class="size right"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
    {% } else { %}
        <td class="name">
        <span class="delete"><input type="checkbox" name="delete" value="1" class="nomargin"></span>
        {% if (file.status_code == 2 || file.status_code == 3) { %}                             
            <!-- TRACE IN PROCESSED / PARTIALLY PROCESSED STATE -->
            <span class="clickcursor {% if (!file.shared_in) { %} filename {% } %}" title="Click here to Analyze" data-file="{%=file.name%}"
            data-target="[tracefile]" data-id="{%=file.id%}"
            data-idtarget="[trace_id]" data-formid="dashboard">
            {%=file.name%}
            </span>
            <!-- SHARED IN / SHARED OUT ICON -->
            {% if (file.shared_in) { %}
                <span class="shared-by" title="Shared by {%=file.shared_by%}">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/shared.png"/></span>
            {% } %}
            {% if (file.shared_out) { %}
                <span class="shared-with" title="Shared with {%=file.shared_with%}">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/shared.png"/></span>
            {% } %}
            <!-- NOTES EMPTY / NOTES FILLED ICON -->
            {% if (file.notes == '') { %}
                <span class="notes empty clickcursor" title="Add notes" style="display:none;">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/notes_empty.png"/></span>
            {% } else { %}
                <span class="notes clickcursor" title="View notes">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/notes_filled.png"/></span>
            {% } %}
        {% } else { %}

所以你可以看到,很多数据绑定在这里使用,无论如何,我想保存这整个脚本/模板在缓存中,有一种方法我可以实现它吗?
通过任何框架,或记忆技巧…

您可以使用CAssetManager将任何类型的文件发布到资产文件夹;

请参考此处的publish函数http://www.yiiframework.com/doc/api/1.1/CAssetManager#publish-detail

发布后,你可以使用publish()

返回的url将脚本加载到视图中