《PHP Learning》模板引擎
- 模板处理
- 使用正则处理模板替换规则
- 保存模板编译结果
- 模板使用
自定义模板引擎 Demo 代码
模板处理
使用正则处理模板替换规则
定界符
定义模板昨天定界符为<{
,右边定界符为}>
,对应的变量为$left
和$right
,这两个变量在后续的正则表达式会使用到
/* 将左右定界符号中,有影响正则的特殊符号转义 例如,<{ }>转义\<\{ \}\> */
$left = preg_quote($this->left_delimiter, '/');
$right = preg_quote($this->right_delimiter, '/');
模板文件
模板文件定义了一个主入口文件以及主入口文件包含的多个从属文件,这样的处理方式也是为了能够让模板能够做到模块化,方便开发和维护
模板主入口文件main.html
<{ include "header.html" }>
<{ $tableName }>
编号 姓名 性别 年龄 电子邮件
<{ loop $users $user }>
<{ loop $user $colKey => $colValue }>
<{ if $colKey == "sex" }>
<{ if $colValue=="男" }>
<{ $colValue }>
<{ elseif $colValue=="女" }>
<{ $colValue }>
<{ else }>
未知
<{ /if }>
<{ else }>
<{ $colValue }>
<{ /if }>
<{ /loop }>
<{ /loop }>
共查找到 <{ $rowNum }> 条记录
<{ include 'footer.html' }>
从属文件footer.html
############### 作者:<{ $author }> ##############