一、PHP主流框架介绍
主流的框架有laravel、symfony、thinkphp
MVC和三层结构MVC可以说是一种开发模式,三层结构是一种开发习惯,严格来讲,他们两者是完全不同的概念,但是在实际开发当中又有各种联系;
MVC是一种将视图、控制器、数据三种分开的一种开发模式。
M - Model 模型 工作:编写module类,负责数据的操作
V - View 视图(模板) 工作:编写html文件,负责前台页面展示
C - Controller 控制器 工作:编写类文件,IndexController.class.php
ThinkPHP 3.2.3介绍ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。
下载:
官方文档:https://www.kancloud.cn/manual/thinkphp/1678
ThinkPHP 3.2.3核心文件和模块几个概念:
名称描述应用 基于同一个入口文件访问的项目我们称之为一个应用。
模块 一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录。
控制器 每个模块可以包含多个控制器,一个控制器通常体现为一个控制器类。
操作 每个控制器类可以包含多个操作方法,也可能是绑定的某个操作类,每个操作是URL访问的最小单元。
模块化设计的思想下面模块是最重要的部分,模块其实是一个包含配置文件、函数文件和MVC文件(目录)的集合。
下载框架后,解压缩到web目录下面,可以看到初始的目录结构如下:
www WEB部署目录(或者子目录)├─index.php 入口文件
├─README.md README文件
├─Application 应用目录
├─Public 资源文件目录
└─ThinkPHP 框架目录
开发人员可以在这个基础之上灵活调整。其中,Application和Public目录下面都是空的。
README.md文件仅用于说明,实际部署的时候可以删除。 上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。 Application目录默认是空的,但是第一次访问入口文件会自动生成,参考后面的入口文件部分。
其中框架目录ThinkPHP的结构如下:
├─ThinkPHP 框架系统目录(可以部署在非web目录下面)│ ├─Common 核心公共函数目录
│ ├─Conf 核心配置目录
│ ├─Lang 核心语言包目录
│ ├─Library 框架类库目录
│ │ ├─Think 核心Think类库包目录
│ │ ├─Behavior 行为类库目录
│ │ ├─Org Org类库包目录
│ │ ├─Vendor 第三方类库目录
│ │ ├─ ... 更多类库目录
│ ├─Mode 框架应用模式目录
│ ├─Tpl 系统模板目录
│ ├─LICENSE.txt 框架授权协议文件
│ ├─logo.png 框架LOGO文件
│ ├─README.txt 框架README文件
│ └─ThinkPHP.php 框架入口文件
上述应用的目录结构只是默认设置,事实上,在实际部署应用的时候,我们建议除了应用入口文件和Public资源目录外,其他文件都放到非WEB目录下面,具有更好的安全性。
Model.class.php
位于:ThinkPHP\Library\Model.class.php
包含很多对数据操作的连贯操作,如:where、order、setInc、setDec...
Driver.class.php
位于:ThinkPHP\Library\Think\Db\Driver.class.php
数据条件分析,各种操作数据库
比如Model.class.php中存在limit,则在Driver.class.php中存在一个parseLimit对上面的limit进行分析操作。
模块设计