常用视图引擎的介绍
视图引擎的作用
帮助mvc中view更方便的开发
好的视图引擎
- 基于该引擎开发出的模板更贴近标准的html
- 语法简单易懂
- 良好的缓存机制
- 拓展性良好
- 网络资源多
常见视图引擎
smarty phplib
什么是smarty
php模板引擎,实现代码分离
smarty的引入、配置与实例制作
smarty的引入与实例化
smarty配置
$smarty->left_delimiter = '{';//左定界符
$smarty->right_delimiter = '}';//右定界符
$smarty->template_dir = 'tpl';//html模板的地址
$smarty->compile_dir = 'template_c';//模板编译生成的文件
$smarty->cache_dir = 'cache';//缓存
以下是开启缓存的另外两个配置。因为通常不用smarty的缓存机制,所以只做了解
$smarty->caching = true;//开启缓存
$smarty->cache_lifetime = 120;//缓存时间
创建目录 /template_c /cache
两个常用的方法
$smarty->assign('key','value');
模板变量赋值
$smarty->display('tpl');
展示模板
变量调节器
- 首字母大写
{$key|capitalize}
- 字符串连接
{$key|cat:"xxx"}
- 日期格式化
{$key|date_format}
- 为未赋值或为空的变量指定默认值
{$key|default:'this is null'}
- 转码 escape 用于html转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码,默认是html转码
{$key|escape:"url"}
- 大小写
{$key|upper}
{$key|lower}
其他函数,参见smarty手册
条件判断
-
eq
、=
、gt
、>
、lt
、<
、neq
、!=
{if $key eq 1}
{elseif $name eq 2}
{else}
{/if}
- 循环
{foreach from=$key item=vo}
{foreachelse}
{/foreach}
- 引入
{include file="路径" }
函数
{"Y-m-d"|date:$key}
{'d'|str_replace:"xxx":$key}