模板引擎的原理

在项目中,尤其是MVC的项目中,前段后后端的代码是分开的,

后端控制前段的代码只需要incdude 引入就可以,

那么前段的代码 里面包含<?php?>,需要怎么分离呢?

原理:

前段的人员都喜欢< p > < a > 这样的代码,那我们能不能使用{ }来替换呢?

这样做php 也解析不了{ }中的内容啊

<?php 
$name="小伟";
$age=32;
include "my.html";
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    姓名:{$name}<br>
    年龄:{$age}
</body>
</html>

显示结果

姓名:{$name}
年龄:{$age}

 

那怎么做呢?

//查找和替换
$str=file_get_contents("my.html");
$str=str_replace('{','<?php echo ',$str);
$str=str_replace('}','?>',$str);
file_put_contents("my.html",$str);
//包含师徒文件
include "my.html";

上面这样做,my.html的源文件也会改变,那下次访问的时候,就不行了 因为{ } 都已经替换成了 <?php?> 了

我们应该在file_put_contents 写到一个新的文件中 如new.html

 

模板引擎的原理,就是查找和替换

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章