-
MVC目录结构
image.png
1.架构总览
ThinkPHP5.0基于MVC (模型-视图-控制器)方式来组织;
Model(模型) <--- Controller(控制器) ----> view(视图)
模型与视图,用控制器强制分离,数据请求与展示由控制器统一调配!
URL 访问默认采用PATH_INFO方式:
http://域名/入口文件/模块/控制器/操作
入口文件:应用入口,如:index.php
模块:应用单元,如user
控制器:控制单元,如index
操作:执行单元,如add()
举例:http://tp5.com/index.php/index/user/list/ id/10/name/peter
id/10/name/peter(参数列表)
2.常用术语
一.入口文件(index.php) (目录在C:\www\tp5\application\index\controller)
1.入口文件是整个web应用的起点;
2.入口文件最常用的是:index.php;
3.入口文件并不唯一,例如可为后台单独设置入口:admin.php;
4.入口文件可以通过URL重写功能将其隐藏
二.应用(application)
1.应用是URL请求到完成的(生命周期)处理对象,由\think\App类处理;
2.应用必须在入口文件(如index.php)中调用并执行;
3.可为不同的应用创建多个入口文件,如后台入口:admin.php
4.应用有自己独立的配置文件(config.php)和公共函数文件(common.php);
三.模块(module)
1.一个应用下有多个模块,对应着应用的不同部分,如前台,后台;
2.每个模块都可以有完整的MVC类库,创建和管理这些类库是我们最主要的工作;
3.每个模块可以有独立的配置文件(config.php)和公共函数文件(common.php);
4.如果应用简单,可使用单模块模式:'app_multi_module'=>false,此时应用(目录在C:\www\tp5\thinkphp\convention.php)
四.控制器(controller)[目录在C:\www\tp5\application\index\controller]
1.每个模块下可以有多个控制器负责响应URL请求;
2.每个控制器对应一个控制器类(class),如User.php;
3.控制器管理着模型与视图,是系统资源的调度与分配中心;
五.操作(action)
1.操作对应着控制器类中的方法,最URL请求的最小单元;
2.任何URL请求,最终都是由控制器中的操作方法来完成;
3.操作是整个应用的最终执行单元,是URL路由的核心与目标;[真正干话的]
六.模型(model)
1.模型通常对应整个应用,因此模型通常在应用(application)目录下创建;
2.尽管模型主要是针对数据库进行CURD(增删改查)操作,但也可以不操作数据库;
3.模型通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据;
4.模型返回的数据,通常是数组(array)或字符串(string);
5.模型支持分层操作,例如将如模型层分为逻辑层/服务层/事件层.
七.视图(view)
1.控制器调用模型返回的数据,是通过视图转换成不同格式输出的;
2.视图根据请求,调用模板引擎确定是直接输出还是模板解析后再输出;
3.视图由大量模板文件组成,这些文件对应着不同控制器中的操作方法;
4.模板目录可以动态设置;
5.视图最直观的理解,就是由一系列的HTML文件组成.
总结:介绍了TP5框架的整体情况,学习深入
网友评论