`
xiaoshenge
  • 浏览: 169822 次
  • 性别: Icon_minigender_1
  • 来自: 十堰
社区版块
存档分类
最新评论

初识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的应用具体参考手册,这里只是解释其功能原理。

BTW:记录一下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}之间作任何事情,并且保证它将不会像剩下的页面一样被缓存。


分享到:
评论

相关推荐

    smarty模板引擎教程

    Smarty是一款广泛应用于PHP开发中的模板引擎,它的主要目标是将前端设计与后端逻辑代码分离,使得开发者可以更专注于业务逻辑的实现,而设计师则可以更专注于页面的视觉呈现。这个教程将深入讲解Smarty模板引擎的...

    PHP Smarty 模板引擎手册 CHM.rar

    Smarty是PHP世界中一款著名的模板引擎,它将呈现逻辑与业务逻辑分离,使得开发者可以更加专注于后端逻辑,而设计师可以自由地使用HTML和CSS来构建页面。本手册"PHP Smarty 模板引擎手册 CHM.rar"包含了关于Smarty的...

    php之Smarty模板引擎

    php Smarty

    自编的Smarty模板引擎

    Smarty是一款广泛应用于PHP开发中的模板引擎,它的设计目标是将应用程序的逻辑与呈现层的HTML代码分离,使得程序员可以专注于业务逻辑,而设计师则可以专心于页面设计,从而提高开发效率和代码可维护性。本教程是...

    模板引擎-Smarty.doc

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

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

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

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

    Smarty是PHP世界中的一款著名模板引擎,它将HTML模板与PHP代码分离,使得网页设计师可以专注于页面布局,而程序员则可以专注于业务逻辑的实现。这个"PHP Smarty简体中文参考手册"是学习和掌握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的一种流行模板技术,它将业务逻辑与视图层分离,使开发者可以更专注于...

    PHP-Smarty模板笔记

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

    Smarty模板引擎 v4.3.5.zip

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

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

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

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

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

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

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

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

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

    CMS程序Smarty模板引擎 v2.6.26-smarty-2.6.26.zip

    Smarty模板引擎是一款广泛应用于PHP开发中的模板技术,它将应用程序逻辑与显示模板分离,使得开发者可以专注于业务逻辑,而设计师则可以独立地进行界面设计。Smarty v2.6.26是该引擎的一个版本,提供了丰富的功能和...

    HuCart企业建站系统 v5.7.9 MVC系统搭载Smarty模板引擎

    全新MVC系统(V=Smarty模板)搭载Smarty模板引擎! HuCart是一款领先企业建站系统,基于PHP+Mysql架构的,可运行在Linux、Windows等各种服务器平台上,常规环境下,能支 持百万 级数据。DIY各栏目内容,所有内容...

    smarty运算符

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

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

    本项目是一个基于Phalcon框架与Smarty模板引擎构建的PHP项目源码,包含235个文件,其中包括212个PHP文件、6个PHP模板文件(phtml)、5个XML文件、3个HTML文件、2个Apache配置文件(htaccess)、2个Volt模板文件以及...

Global site tag (gtag.js) - Google Analytics