`
joan0106
  • 浏览: 144439 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

php的smarty模板引擎

阅读更多

php是 嵌入式HTML脚本语言,为了将HTML和php代码分离,即所谓的逻辑层和表现层,这就是模板引擎的目的。为了达到该目的 模板引擎需具备的功能有:

1.存储变量;

2.读取模板文件;

3.结合前两个生成输出。

 

Code如下:

test01.php

<?php

$name='xiaoshenge';

?>

test02.php

<html>

<head><title>test</title></head>

<body>

name=<?php echo $name; ?>

</body>

</html>

test03.php

<?php

include'test01.php';

include'test02.php;

?>

当然这里只是简单的模拟如何实现php模板引擎的功能,在php开源社区里著名的smarty就是封装了上面的功能。保存数据->加载模板->编译生成输出文件。有关 smarty的应用具体参考手册,这里只是解释其功能原理。

记录一下smarty缓存遇到的问题。

如果开启smarty缓存,第一次执行时会将其编译好的输出文件保存到cache目录中,在程序中通过smarty的is_cache()函数检 测其 cache文件是否过期,若过期会更新缓存,如果没有过期会自动调用cache文件,省去编译的过程。检测cache过期是看模板文件是否在指定的生命周 期内是否更改,这里的更改是是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容。
   阻止一个模板文件的 整篇被缓存 :
index.php:

require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = true;

function smarty_block_dynamic($param, $content, &$smarty) {
return $content;
}
$smarty->register_block('dynamic', 'smarty_block_dynamic', false);

$smarty->display('index.tpl');


index.tpl:

Page created: {"0"|date_format:"%D %H:%M:%S"}

{dynamic}

Now is: {"0"|date_format:"%D %H:%M:%S"}

... do other stuff ...

{/dynamic}
当重新加载这个页面,你将会注意到这两个日期不同。一个是“动态“,一个是“静态”。你能够在{dynamic}...{/dynamic}之间作任何事情,并且保证它将不会像剩下的页面一样被缓存。

分享到:
评论

相关推荐

    PHP Smarty 模板引擎手册 CHM.rar

    这个CHM手册是学习和掌握Smarty模板引擎的宝贵资源,无论你是初学者还是有经验的开发者,都能从中获得有益的知识。通过深入学习和实践,你将能够更好地利用Smarty提升PHP应用的用户体验和开发效率。

    PHP Smarty简体中文参考手册(让你更快速掌握PHP Smarty模板引擎)

    Smarty是PHP世界中的一款著名模板引擎,它将HTML模板与PHP代码分离,使得网页设计师可以专注于页面布局,而程序员则...通过阅读和实践手册中的内容,你将能够熟练地运用Smarty模板引擎,打造高效、可维护的PHP项目。

    smarty模板引擎教程

    Smarty是一款广泛应用于PHP...总结,Smarty模板引擎是PHP开发中一个强大且灵活的工具,它提高了代码的可维护性和团队协作效率。通过学习和掌握Smarty,开发者能够更好地实现前后端分离,提升项目开发效率和用户体验。

    模板引擎-Smarty.doc

    Smarty模板引擎从安装到结合php的使用, 从基础到深入

    php之Smarty模板引擎

    php Smarty

    smarty运算符

    在PHP开发领域中,Smarty是一个非常受欢迎的模板引擎,尤其是在PHP5时期,被广泛应用于各种Web项目之中。Smarty的核心优势在于它能够实现逻辑与表现层的有效分离,使得前端开发者无需了解复杂的后端代码即可完成页面...

    自编的Smarty模板引擎

    例如,`index.tpl`可能是模板文件,`index.php`可能是对应的PHP控制器,它们共同展示了如何使用自编的Smarty模板引擎。 总之,Smarty模板引擎通过分离PHP代码和HTML,提高了代码的可读性和可维护性。通过学习和实践...

    基于PHP和Shell的smarty模板引擎设计源码分享

    本项目是一个基于PHP和Shell的smarty模板引擎设计源码分享,具有丰富的文件构成和详细的设计说明。项目包含1112个文件,这些文件涵盖了Smarty模板引擎的多个方面,具体分为以下几类: 1. PHP文件:项目中包含424个...

    基于PHP语言的smarty模板引擎设计源码

    项目总计包含1111个文件,其中核心的文件类型包括PHP文件和模板文件,数量分别为424个和409个,这些文件是构成Smarty模板引擎的核心要素。此外,项目中还包含244个Git忽略文件,这类文件通常用于在版本控制中忽略掉...

    Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。

    Smarty模板引擎是一款专门为PHP开发的模板技术框架,其核心设计理念在于实现前端展示(视图)与后端逻辑(控制器和模型)的分离,使得开发者能够更专注于设计和业务处理,而不是将两者混淆在一起。作为业界知名的PHP...

    基于Phalcon框架与Smarty模板引擎的PHP项目设计源码

    本项目即是在此基础上,通过结合Phalcon框架与Smarty模板引擎,提供了一套完整的PHP项目设计源码,以期在提高开发效率的同时,也保证了项目的高性能和高扩展性。 项目源码中包含了多个核心文件类型,首先是大量的...

    基于Smarty模板引擎的PHP面向对象设计源码学习实例

    本实例项目便是以PHP OOP为核心,通过引入Smarty模板引擎,为开发者提供了一个学习和实践面向对象设计的平台。Smarty是一个功能强大的模板引擎,它通过分离应用程序逻辑和设计,使得Web开发更加高效和模块化。 项目...

    基于PHP的Smarty模板引擎HTML+CSS前端设计源码

    在探讨基于PHP的Smarty模板引擎以及HTML和CSS前端设计的源码时,我们首先要了解Smarty模板引擎的作用和它在Web开发中的重要性。Smarty是一个功能强大且广泛使用的模板引擎,它将应用程序的业务逻辑与设计分离,从而...

    php smarty模板开发电子商务网站

    总的来说,PHP Smarty模板引擎为电子商务网站开发提供了强大而灵活的工具,帮助我们构建结构清晰、易于维护的前端代码。通过熟练掌握其特性和最佳实践,我们可以提升网站的用户体验,同时降低维护成本。在实际项目中...

    smarty模板引擎3.1

    Smarty是一款广泛应用于PHP开发中的模板引擎,它的主要目标是将前端设计与后端逻辑代码分离,使得开发者可以更专注于各自的工作领域。Smarty3.1版本是该引擎的一个稳定分支,提供了许多增强的功能和优化。 一、...

    基于Smarty模板引擎的轻量级phpMVC框架MyfMVC设计源码

    MyfMVC框架是一个轻量级的phpMVC框架,它以Smarty模板引擎为基础,旨在为开发者提供一个快速开发环境。该框架的开源免费特性使得它特别适合用于构建中小型网站系统和企业内部信息系统。从项目文件结构来看,MyfMVC...

    Smarty模板引擎3.1.18版本

    Smarty模板引擎是一款广泛应用于PHP开发中的模板引擎,其3.1.18版本是一个稳定且功能丰富的版本。这个版本在前一版本的基础上进行了优化和改进,旨在提高开发效率,分离业务逻辑与视图呈现,使得网页设计人员和...

    基于PHP与Shell语言的smarty模板引擎设计源码

    一个基于PHP与Shell语言的smarty模板引擎设计,能够将后端的业务逻辑与前端的展示效果更高效地结合,同时利用Shell脚本对项目进行自动化管理和维护。 该项目由1112个文件构成,涉及多种文件类型,主要包括PHP文件、...

    基于imi框架的Smarty模板引擎集成设计源码

    通过集成Smarty模板引擎,项目不但能够提供高效的模板渲染能力,还能为PHP开发者提供更加丰富和灵活的开发选择。同时,对于熟悉imi框架的开发者来说,该项目的集成方案无疑扩展了框架的应用场景,使得开发者能够在...

    linux+php+smarty模板的例子.zip

    标题中的“linux+php+smarty模板的例子.zip”表明这是一个关于在Linux操作系统中使用PHP和Smarty模板引擎进行Web开发的示例项目。Smarty是PHP的一种流行模板技术,它将业务逻辑与视图层分离,使开发者可以更专注于...

Global site tag (gtag.js) - Google Analytics