php MySQL简易模板_php 实现简易模板引擎

本文介绍了MVC设计模式,并重点讲解了PHP中实现简易模板引擎的两种机制。通过对比PHP代码与HTML混写的方式,阐述了模板引擎如何实现数据与显示的分离,提高代码可维护性。文章探讨了原生态模板机制和更强大的模板机制,讨论了各自的优缺点,以及在性能、缓存、错误处理和配置上的考量。
摘要由CSDN通过智能技术生成

1.MVC简介

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式(详情自己百度):

1. Model(模型)表示应用程序核心(比如数据库记录列表)。

2. View(视图)显示数据(数据库记录)

3. Controller(控制器)处理输入(写入数据库记录)。

MVC的流程图如下(来源百度百科):

c0156047f6949c57d69c5ce2adef6ba8.png

2.本文重点:模板引擎

在视图层,PHP可以采用两种方式编写:

PHP代码和HTML代码混写,甚至JavaScript等

采用模板引擎使得数据和显示分离,这种方式更易于维护。

首先让我们来看一下混写代码:

混写代码

商品信息:

mysql_connect("localhost","root","") or die("conect failed:".mysql_error());

mysql_select_db("shop");

$result = mysql_query("select * from sh_goods");

?>

mysql_free_result($result);

mysql_close();

?>

这种方式往往随着前端逻辑的复杂度变得越来越大,代码的可读性也会变得很差,代码的可重用性也不好。(比如我们需要重复的编写从数据库中获取数据的代码)

模板引擎有两种机制

接下来,我们用原生态模板机制来实现

1.原生态机制

该机制主要是执行数据库操作的代码get_data.php单独放到一个文件中,显示的hmtl代码show_page.php放到另一个文件中,然后在html代码show_page.php中包含执行数据库操作的代码get_data.php.代码如下:

get_data.php

mysql_connect("localhost","root","") or die("conect failed:".mysql_error());

mysql_select_db("shop");

$result = mysql_query("select * from sh_goods");

$data = array();

while (mysql_fetch_array($result)) {

$data[] = $result['good_name'];

}

mysql_free_result($result);

mysql_close();

?>

show_page.php

分离代码

商品信息:

include 'get_data.php';

foreach ($data as $key => $value) {

?>

<?php echo $value['good_name']; ?>

该机制比较简单,符合PHP的语法和使用的习惯,显然比混写代码更容易维护。但是,有时考虑到网站的性能,我们想要缓存代码的时候,这种方法就不能提供支持了。类似的,错误处理,可配置化,脱离php语法等高级功能也不容易实现。

2.更强大的模板机制

该机制与上一个机制刚好相反,在负责数据操作的文件中包含模板,模板只负责显示即可,不用考虑php操作。

本引擎的执行流程如下:

3f544f7aece595501bc8596bcf90858d.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值