ThinkPHP5.0 架构设计思路
ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。
1,入口文件
用户请求的PHP文件,负责处理一个请求(注意,不一定是URL请求)的生命周期,最常见的入口文件就是index.php,有时候也会为了某些特殊的需求而增加新的入口文件,
例如给后台模块单独设置的一个入口文件admin.php或者一个控制器程序入口think都属于入口文件。
2,应用
应用在ThinkPHP中是一个管理系统架构及生命周期的对象,由系统的 \think\App类完成,应用通常在入口文件中被调用和执行,具有相同的应用目录(APP_PATH)的应用我们认为是同一个应用,但一个应用可能存在多个入口文件。
应用具有自己独立的配置文件、公共(函数)文件。
3,控制器
每个模块拥有独立的MVC类库及配置文件,一个模块下面有多个控制器负责响应请求,而每个控制器其实就是一个独立的控制器类。
控制器主要负责请求的接收,并调用相关的模型处理,并最终通过视图输出。严格来说,控制器不应该过多的介入业务逻辑处理。
namespace app\index\controller;
class Index
{
public function index()
{
return 'www.djznrobot.com';
}
}
5,操作
一个控制器包含多个操作(方法),操作方法是一个URL访问的最小单元。
下面是一个典型的Index控制器的操作方法定义,包含了两个操作方法:
namespace app\index\controller;
class Index
{
public function index()
{
return 'index';
}
public function hello($name)
{
return 'Hello,'.$name;
}
}
6,模型
模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。