1 ThinkPHP MVC框架初识

一、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       框架目录

开发人员可以在这个基础之上灵活调整。其中,ApplicationPublic目录下面都是空的。

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进行分析操作。

模块设计

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzfjw.html