`
joan0106
  • 浏览: 141031 次
  • 性别: 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,提高了代码的可读性和可维护性。通过学习和实践...

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

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

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

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

    smarty模板引擎3.1

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

    Smarty模板引擎3.1.18版本

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

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

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

    jsmart:jSmart是Smarty Javascript模板引擎,是PHP Smarty模板引擎的端口

    jSmart是Smarty模板引擎到Javascript的端口,Javascript是一个JavaScript模板库,它支持模板以及著名PHP模板引擎所有功能(函数,变量修饰符等)。 jSmart完全用JavaScript编写,没有任何DOM /浏览器或第三方...

    PHP-Smarty模板笔记

    Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。Smarty工作的目的是要...

    (第29讲) PHP模板引擎Smarty内置函数

    在PHP开发中,模板引擎是一种将业务逻辑与视图展示分离的重要工具,Smarty就是其中一款广泛应用的PHP模板引擎。本讲主要围绕Smarty的内置函数展开,涵盖了数组处理、多文件包含、条件判断以及文本处理等核心功能。 ...

    php smarty模板引擎的6个小技巧

    php smarty模板引擎中几个经常被忽略的但比较有用的标签整理,包括capture标签,config_load标签,php标签,strip标签,fetch标签,以及如何在smarty模板中直接使用define定义的常量

    Smarty模板引擎 v4.3.5.zip

    Smarty模板引擎是一款广泛应用于PHP开发中的模板引擎,其最新版本为v4.3.5。这个版本的发布,旨在提供更高效、更安全且更易维护的模板处理能力,使得开发者能够将视图层(HTML)与逻辑层(PHP)分离,实现更好的MVC...

    Smarty模板变量与调节器实例详解

    Smarty是一个非常流行的PHP模板引擎,广泛用于将Web应用的业务逻辑层和表现层进行分离,从而实现结构的清晰和代码的可重用。模板变量和调节器是Smarty模板中的核心组成部分,它们决定了模板如何接收和处理数据。 在...

    深入浅出之Smarty模板引擎工作机制

    Smarty是一款广泛应用于PHP开发中的模板引擎,它的设计目标是将HTML设计与PHP代码分离,让开发者专注于业务逻辑,而设计师可以专心于页面的布局和样式。本篇文章将深入解析Smarty的工作机制,帮助读者理解其核心原理...

    ASP网站CMS程序源码——Smarty模板引擎实例开发.rar

    而Smarty模板引擎作为PHP世界中广泛应用的模板系统,其设计理念是将业务逻辑与展示逻辑分离,从而提高代码的可维护性和可扩展性。尽管ASP(Active Server Pages)并非PHP,但我们可以将Smarty的模式引入ASP,创建一...

Global site tag (gtag.js) - Google Analytics