Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP模板引擎如何引用数据?_Php_Templates_Smarty3 - Fatal编程技术网

PHP模板引擎如何引用数据?

PHP模板引擎如何引用数据?,php,templates,smarty3,Php,Templates,Smarty3,我不熟悉PHP模板(Smarty),对此我有一个问题: PHP模板将PHP和html脚本转换为缓存,例如: *0c11aeb3a17645e71660028291bd3148b19cef94.file.group_add.tpl.php* 当web内容(可能是依赖于数据库的内容)发生更改时,缓存可能会被刷新和更新,这将导致/消耗IO开销,因为它需要生成新的缓存 我认为这可能很慢,模板引擎如何解决这个问题?或者如何设计网站来避免这种情况 Smarty handle缓存在后台,缓存文件是一个预编译

我不熟悉PHP模板(Smarty),对此我有一个问题: PHP模板将PHP和html脚本转换为缓存,例如:

*0c11aeb3a17645e71660028291bd3148b19cef94.file.group_add.tpl.php*
当web内容(可能是依赖于数据库的内容)发生更改时,缓存可能会被刷新和更新,这将导致/消耗IO开销,因为它需要生成新的缓存


我认为这可能很慢,模板引擎如何解决这个问题?或者如何设计网站来避免这种情况

Smarty handle缓存在后台,缓存文件是一个预编译的php文件,该文件是一个静态模板,带有脚本或动态内容定义。虽然内容是动态的,但脚本是相同的

开销只发生在第一次编译中,随后它只是读取并使用模板,通常非常快。缓慢可能是由于数据库或其他任务造成的

缓存文件更新或刷新或重新编译由smarty管理,通常在以下情况下触发:

  • 更改原始模板文件(从修改时间开始)
  • 定义的缓存生存时间(默认为3600秒或1小时)已过期

  • 可以覆盖此设置。对于smarty缓存设置,读取时间为

    ,我不确定。也许可以在smarty页面上查看详细信息。我的第一个猜测是tpl文件的修改日期。只要tpl文件没有更改,smarty就不会重新编译它。我确信这一点