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}之间作任何事情,并且保证它将不会像剩下的页面一样被缓存。
分享到:
相关推荐
这个CHM手册是学习和掌握Smarty模板引擎的宝贵资源,无论你是初学者还是有经验的开发者,都能从中获得有益的知识。通过深入学习和实践,你将能够更好地利用Smarty提升PHP应用的用户体验和开发效率。
Smarty是PHP世界中的一款著名模板引擎,它将HTML模板与PHP代码分离,使得网页设计师可以专注于页面布局,而程序员则...通过阅读和实践手册中的内容,你将能够熟练地运用Smarty模板引擎,打造高效、可维护的PHP项目。
Smarty是一款广泛应用于PHP...总结,Smarty模板引擎是PHP开发中一个强大且灵活的工具,它提高了代码的可维护性和团队协作效率。通过学习和掌握Smarty,开发者能够更好地实现前后端分离,提升项目开发效率和用户体验。
Smarty模板引擎从安装到结合php的使用, 从基础到深入
php Smarty
在PHP开发领域中,Smarty是一个非常受欢迎的模板引擎,尤其是在PHP5时期,被广泛应用于各种Web项目之中。Smarty的核心优势在于它能够实现逻辑与表现层的有效分离,使得前端开发者无需了解复杂的后端代码即可完成页面...
例如,`index.tpl`可能是模板文件,`index.php`可能是对应的PHP控制器,它们共同展示了如何使用自编的Smarty模板引擎。 总之,Smarty模板引擎通过分离PHP代码和HTML,提高了代码的可读性和可维护性。通过学习和实践...
Smarty模板引擎是一款专门为PHP开发的模板技术框架,其核心设计理念在于实现前端展示(视图)与后端逻辑(控制器和模型)的分离,使得开发者能够更专注于设计和业务处理,而不是将两者混淆在一起。作为业界知名的PHP...
总的来说,PHP Smarty模板引擎为电子商务网站开发提供了强大而灵活的工具,帮助我们构建结构清晰、易于维护的前端代码。通过熟练掌握其特性和最佳实践,我们可以提升网站的用户体验,同时降低维护成本。在实际项目中...
Smarty是一款广泛应用于PHP开发中的模板引擎,它的主要目标是将前端设计与后端逻辑代码分离,使得开发者可以更专注于各自的工作领域。Smarty3.1版本是该引擎的一个稳定分支,提供了许多增强的功能和优化。 一、...
Smarty模板引擎是一款广泛应用于PHP开发中的模板引擎,其3.1.18版本是一个稳定且功能丰富的版本。这个版本在前一版本的基础上进行了优化和改进,旨在提高开发效率,分离业务逻辑与视图呈现,使得网页设计人员和...
标题中的“linux+php+smarty模板的例子.zip”表明这是一个关于在Linux操作系统中使用PHP和Smarty模板引擎进行Web开发的示例项目。Smarty是PHP的一种流行模板技术,它将业务逻辑与视图层分离,使开发者可以更专注于...
jSmart是Smarty模板引擎到Javascript的端口,Javascript是一个JavaScript模板库,它支持模板以及著名PHP模板引擎所有功能(函数,变量修饰符等)。 jSmart完全用JavaScript编写,没有任何DOM /浏览器或第三方...
Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。Smarty工作的目的是要...
在PHP开发中,模板引擎是一种将业务逻辑与视图展示分离的重要工具,Smarty就是其中一款广泛应用的PHP模板引擎。本讲主要围绕Smarty的内置函数展开,涵盖了数组处理、多文件包含、条件判断以及文本处理等核心功能。 ...
php smarty模板引擎中几个经常被忽略的但比较有用的标签整理,包括capture标签,config_load标签,php标签,strip标签,fetch标签,以及如何在smarty模板中直接使用define定义的常量
Smarty模板引擎是一款广泛应用于PHP开发中的模板引擎,其最新版本为v4.3.5。这个版本的发布,旨在提供更高效、更安全且更易维护的模板处理能力,使得开发者能够将视图层(HTML)与逻辑层(PHP)分离,实现更好的MVC...
Smarty是一个非常流行的PHP模板引擎,广泛用于将Web应用的业务逻辑层和表现层进行分离,从而实现结构的清晰和代码的可重用。模板变量和调节器是Smarty模板中的核心组成部分,它们决定了模板如何接收和处理数据。 在...
Smarty是一款广泛应用于PHP开发中的模板引擎,它的设计目标是将HTML设计与PHP代码分离,让开发者专注于业务逻辑,而设计师可以专心于页面的布局和样式。本篇文章将深入解析Smarty的工作机制,帮助读者理解其核心原理...
而Smarty模板引擎作为PHP世界中广泛应用的模板系统,其设计理念是将业务逻辑与展示逻辑分离,从而提高代码的可维护性和可扩展性。尽管ASP(Active Server Pages)并非PHP,但我们可以将Smarty的模式引入ASP,创建一...