php 模板对象,php面向对象--PHP模板 ppt

模板是可复用代码的衍生概念。

模板使页面与代码分离。

模板方便制作不同语言版本。

模板提高开发速度和性能。

发展历史

¨内嵌PHP代码

¨分离通用代码

¨解释型模板体系

¨编译型模板体系

¨缓存模板体系

两种模板引擎

¨需程序处理的模版引擎程序开发者必须要负责变量的呈现逻辑,也就是说他必须把变量的内容在输出到模版前先处理好,才能做assign的工作。

完全由模版本身自行决定的模版引擎

Smarty优点

¨速度快

¨编译行

¨缓存技术:Smarty可以缓存成一个静态的HTML页

¨插件技术:实际上就是可以编辑‘自定义函数’和自定义

‘变量’

¨模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

Smarty不适合

¨实时刷新的内容

¨小型网站

Smarty安装

¨拷贝libs

¨/libs Smarty的功能类目录

/tempalates 模板文件目录

/templates_c 模板缓存文件目录

/configs 配置文件目录

/cache 缓存文件目录

模板文件

charset=gb2312” />

{$title}

{$content}

PHP文件

include_once(“libs/Smarty.class.php"); //包含smarty类文件

$smarty = new Smarty(); //创建smarty对象

$smarty->template_dir = "./templates"; //设置模板目录

$smarty->compile_dir = "./templates_c"; //设置编译目录

$smarty->left_delimiter = "{"; //定义左边界符

$smarty->right_delimiter = "}"; //定义右边界符

$smarty->assign(“title”, “Hello”); //进行模板变量替换

$smarty->assign(“content”, “Hello, World”); //进行模板变量替换

$smarty->display("index.tpl"); //编译并显示

?>

其他设置

¨$smarty->cache_dir = "cache";

¨$smarty->cache_lifetime = 60 * 60 * 24;

¨$smarty->caching = 1;

基本语法

¨注释: {* 注释内容*}

¨变量: {$变量名}

¨索引数组: {$数组名[索引]}

¨关联数组: {$数组名.元素名}

¨对象: {$对象名->属性名}

¨函数: {函数名称[ 参数名1=值1[ 参数名2=值2]]}

从配置文件引用的变量

¨配置文件名为: *.conf

¨在模板中引入:{config_load file="配置文件

名.conf"}

¨在模板中的变量标签:{#变量名#}或

{$smarty.config.变量名}

变量调节器

¨{$变量名|调节器名} //用于变量

¨{“字符串”|调节器名} //用于字符串

¨{函数名|调节器名函数的参数名=值} //用于函

¨{$变量名|调节器名1[|调节器名2|...]} //使用多

个调节器

条件

¨条件表达式与PHP中相同即可

¨{if 条件表达式1}

内容1

[{elseif 条件表达式2}

内容2

{else}

内容3]

{/if}

输出内容

¨'{'字符: {ldelim} }'字符: {rdelim}

¨{literal}{/literal} 里面的文本内容将不会被模板

引擎解析,原样输出

¨{php}php语句;{/php}

输出内容

¨'{'字符: {ldelim} }'字符: {rdelim}

¨{literal}{/literal} 里面的文本内容将不会被模板

引擎解析,原样输出

¨{php}php语句;{/php}

循环

¨{foreach from=$数组名item=当前元素的变量

名称[ key=当前元素的键名] }

循环体...

{$当前元素的变量名称}

{foreachelse}

循环不执行时语句

{/foreach}

输出内容

¨'{'字符: {ldelim} }'字符: {rdelim}

¨{literal}{/literal} 里面的文本内容将不会被模板

引擎解析,原样输出

¨{php}php语句;{/php}

{section name = name loop =

$varName[ start = $start step = $step max =

$max show = true]}

¨name: section的名称,不用加$

输出内容 ¨'{'字符: {ldelim} }'字符: {rdelim} ¨{literal}{/literal} 里面的文本内容将不会被模板 引擎解析,原样输出 ¨{php}php语句;{/php}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值