我先说说我不使用框架时,代码结构是怎么样的吧
HTML标签
查询数据库
获取字段保存到数组
while(循环条件){
echo "输出字段内容+标签";
}
HTML标签
整个文件就是一个php文件,html标签和php代码混合起来,就是下面这个样子:
<?php
require('conndb.php');
$sql="select aaa102 from aa01 where aaa101=1";//
$result=mysqli_query($link,$sql);//执行sql语句
if ($result instanceof mysqli_result) {
while ( $row = $result->fetch_object() ) {
$company_content= $row->aaa102;
}
}
?>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<link rel="shortcut icon" href="favicon.ico" />
<title>页面标题</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="format-detection" content="telephone=no">
这样的代码很混乱,修改起来也十分麻烦,有点当年学C语言,所有代码都放一个函数里的意思。于是就有了框架这种方便管理软件结构的代码。
大概思路如下图:
然后引入框架thinkphp,其实就是下载好框架,在框架里写好代码,供JS调用接口,这样前后端就能实现分离,前后开发互不干扰。我通过对比不使用框架和使用框架,总结以下几个原因,来解释为什么使用框架
1、操作数据库简单
(1)模型:将增删改查简化,类似操作数组的方式操作数据库和字段
(2)连接数据库简化:不使用框架的时候,我在每个需要操作数据库的php文件,都引入了一次连接数据库的文件,在框架里不需要
2、路由
没使用框架的时候,页面很单一,页面的内容刷新,其实是通过echo不同的内容实现,参数的传递,则是通过浏览器的地址栏以GET的形式传参,语义不便理解,代码十分冗余。
使用框架之后,深入的理解和实现了面向对象的特点,通过调用不同的类,注册不同的路由来调用不同的类和方法。
3、前后端分离
前后端开发可以分开,互不干涉,让开发更高效,后端开发专心提供接口,前端开发专心实现页面。这里需要理解一下MVC模型的作用。