zoukankan      html  css  js  c++  java
  • Smarty 学习笔记五 模版编译

    Smarty的模版编译是它最强大的功能之一,当第一次读取模版文件时,Smarty会依据你的模版文件在编译目录中自动创建相应的PHP脚本文件,即编译文件,当你再次访问模版文件时,Smarty读取的是编译后的文件,而不是真正的模版文件,同时它会自动判断模版文件是否有过更新,如果模版文件已被更新,则它会从新生成新的编译文件。
    关于编译文件的一些属性及方法
    $compile_dir
    用于设定存储编译文件的路径信息,默认./templates_c,即当前PHP脚本所在目录下的templates_c目录。如:

    1 $smarty->compile_dir = 'lib/smarty/templates_c';

    setCompileDir(string compile_dir);
    与$compile_dir变量功能一下,用于设定编译文件的存储路径信息。
    注:推荐使用该方法设定编译文件路径。

     1 <?php
     2 
     3 // 设定编译文件的存储路径
     4 $smarty->setCompileDir('./templates_c');
     5 
     6 // chaining of method calls
     7 $smarty->setTemplateDir('./templates')
     8 ->setCompileDir('./templates_c')
     9 ->setCacheDir('./cache');
    10 
    11 ?>

    getCompileDir()
    用于获取存储编译文件的路径信息

    1 <?php
    2 
    3 // get directory where compiled templates are stored
    4 $compileDir = $smarty->getCompileDir();
    5 
    6 ?>

    $compile_check
    如果将该变量设置为true,则在每次显示模版文件之前判断该模版内容是否有过变更,如果模版文件变更过,则重新生成编译文件,否则使用已存在的编译文件,如果不存在模版编译文件,则Smarty会忽略该设置,而总是生成一个编译文件。默认值为true。
    注:当应用程序最终投入使用时(模版文件不会被更改),应当关闭该选项,以获取最大性能。
    注:如果关闭该选项,当模版文件变更时,将不会显示变更后的内容,除非重新生成了编译文件。
    在Smarty3.1以后版本中,可以将该变量设定为Smarty::COMPILECHECK_CACHEMISS,当需要生成一个缓存文件时,编译文件将会被检查是否有效。因此,当一个缓存文件过期时,在生成缓存文件之前编译文件将会先被检查是否有效。
    $force_compile
    如果设定该值为true,那么在每次请求模版文件时,都会强制重新生成编译文件,该选项会忽略$compile_check,默认为false。在开发过程中,打开次选项是一个好的选择。如果开启的缓存文件,则缓存文件在每次请求时也会同样被强制重新生成。
    $compile_locking
    该选项用于禁止同一时间内对同一模版进行多次编译,默认为true,如果要禁用次功能,设置值为false。
    $compiler_class
    指定生成编译文件时做调用的类文件,默认是Smarty自带类Smarty_Compiler。

  • 相关阅读:
    解决QPainter::drawText修改文字方向
    解决linux环境下qt groupbox 边框不显示问题
    人既然知道努力就可以进步,为什么还是会不努力?
    学会锻炼感悟爱与幸福的能力
    IT人为什么难以拿到高薪?
    在你月薪三千的时候,做月薪八千的事
    哪些人最终能留在北京?
    如何利用数据挖掘进行分析的方法
    查找附近的人
    dapper 操作类封装
  • 原文地址:https://www.cnblogs.com/gbyukg/p/2540194.html
Copyright © 2011-2022 走看看