PHP[OOP入门]PH07-模板引擎类
该部分为 php 面向对象的入门部分,较为肤浅且参杂过分已经不是主流的知识。
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day07-模板引擎类
1、模板引擎
html css 静态页面
php 内嵌到html文件中的服务端脚本语言
1.php
<html>
<?php echo 123; ?>
<?php foreach ($data as $key => $value) : ?>
<div><?=$value; ?></div>
<?php endforeach; ?>
</html>
弊端:
html代码和php代码交叉的太厉害,非常乱,而且,真正的工作中,前端的代码是有专门的妹子来写的,后端的代码你们这些汉子负责的
模板引擎
就是为了分离html文件和php文件而产生的
1.html(负责显示数据的)《====模板引擎===1.php(用来获取数据的)
简单的逻辑(得到数据显示出来)
使用模板引擎的语法来显示
{$title} =======》 <?=$title; ?>
{if $a > 0} =====> <?php if ($a > 0): ?>
{/if} =======> <?php endif; ?>
通过模板引擎,将html文件中的模板引擎的语法替换为php的语法,然后将该文件的后缀从html变成php,最终显示这个php文件。这个生成的php文件就是传说中的缓存文件
2、正则替换
preg_replace
正则表达式有
定界符 原子(\d \w .) 元字符(+ ? * {n}) () {} . + * ?
preg_quote
preg_replace_callback
3、include问题(一会讲吧)
4、缺点
面向过程
每次都会生成缓存(过期时间)
分页时候生成都是同一个缓存文件 index.php?page=3
类的设计:
成员属性
模板路径
缓存路径
过期时间
变量数组(用来保存页面需要显示的数据)
成员方法
assign($name, $value) :分配变量
display(模板文件名, 是否include进来, uri) :展示模板
<html>
{include 'head.html'} => <?php include 'head.php'; ?>
{include 'foot.html'}
</html>