php有什么技术方案,16-php模版技术方案.ppt

16-php模版技术方案

一、为什么使用模版技术? 模版化的目的在于分离应用程序的业务逻辑和表现逻辑。 使用模版化的主要原因: 可以使用同样的代码为不同目标生成数据:打印、web、电子数据表、报表等等。如果不使用模版化技术,则需要针对每种输出目标复制并修改代码,这会带来严重的代码冗余,不便于管理代码。 应用程序设计人员(负责创建和维护界面的人)可以与应用程序开发人员独立工作。 二、Smarty 介绍 Smarty - the compiling PHP template engine Smarty是一个使用PHP编写的模版引擎,是目前业界最著名的PHP模版引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。 Smarty优点 1. 速度快:相对于其他模版引擎 2. 编译型:采用smarty编写的程序在运行时会编译成一个PHP文件 3. 缓存技术:它可以将用户最终看到的HTML文件缓存成一个静态的HTML页面 4. 插件技术:smarty可以自定义插件 不适合使用Smarty的地方 1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,导致经常重新编译模板,所以这类型的程序使用Smarty会使模板处理速度变慢。 2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。 三、安装Smarty 1.打开/download.php页面,下载Smarty。解压下载的文件。 2.将libs目录内的所有文件复制到网站库文件目录,如includes/smarty目录下。 3.在网站根目录下新建 templates 目录,用于放置网站用到的模版文件。 4.在templates 目录下,新建 templates_c 、cache 目录,用于放置smarty编译生成的文件和缓存文件 四、配置Smarty require(“smarty/Smarty.class.php"); //包含smarty类文件 $smarty = new Smarty(); //建立smarty实例对象$smarty $smarty->template_dir = "./templates"; //设置模板目录 $smarty->compile_dir = "./templates_c"; //设置编译目录 $smarty->cache_dir = “./smarty_cache”; //缓存文件夹 $smarty->caching = false; //是否使用缓存,项目在调试期间,不建议启用缓存 //左右边界符,默认为{} $smarty->left_delimiter = “right_delimiter = "}>"; 例:使用Smarty简单例子 index.tpl:

User Info User Information:

Name: {$name}
Address: {$address}
Index.php: include('Smarty.class.php'); // 包含smarty类文件 $smarty = new Smarty; // 实例化smarty对象 $smarty->assign(‘name’, ‘george smith’); // 给模版赋值 $smarty->assign('address', '45th & Harris'); $smarty->display(‘index.tpl’); // 显示模版 五、Smarty的表现逻辑 1. 注释 Smarty的注释包含在定界标记 {* 和 *} 之间,可以包括一行或多行; 例:{* this is a comment *} 2. 变量修饰符 你可能想在表现层中将文字首字母大写,格式化日期等。Smarty开发人员在库中集成了许多表现特有的功能。使用方法在需要修饰的变量值后面跟一个竖线,然后是修饰符命令; 语法: {$var|modifier} 例: {$title|capitalize}//将所有单词的首字母大写 {$title|count_words}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值