PHP模板引擎的原理与实践
程序员文章站
2022-04-09 19:35:31
...
0x00 模板引擎的原理
模板引擎就是在模板文件中使用一系列提前约定好的标签代替原生PHP代码,通过访问一个PHP的入口文件,会有一个PHP编译文件根据约定替换模板内标签以及标签内变量,最终将模板文件编译成一个PHP文件,然后展示到浏览器中。
模板文件
前端开发者将前端代码中的所有数据替换成与服务端开发者约定好的标签及变量名。
PHP入口文件
服务端开发者将前端代码中所需要的变量注入到前端。
PHP编译文件
该文件中是模板引擎中的核心,在这里我们定义了 标签
语句
等,通过读取模板文件,使用正则表达式去匹配模板文件中与后台约定好的标签及变量,并将标签及变量替换成PHP代码,最终生成一个前后端结合的PHP文件。
0x01 约定标签
PHP的语法中,包括 if...else
foreach
等语法,以及需要替换的普通变量 $value
, PHP原生语句,注释等等。一般情况下,大家习惯使用以下标签
{$value}
// 对应原生echo$value; ?>
{foreach$array}
{V}
{/foreach}
// 对应原生foreach($arrayas$K => $V) {
echo$V;
}
?>
{if $data == 'XiaoMing'}I'mXiaoMing;
{elseif $data == 'XiaoHong' }I'mXiaoHong;
{else}
I'mXiaoLi;
{/if}
// 对应原生
if