• ThinkPHP5学习总结3—— ThinkPHP5框架总览


    架构总览

    ThinkPHP5 基于MVC(模型 — 视图 — 控制器)来组织;

    模型与视图,用控制器强制分离,数据请求与展示由控制器统一调配!

    1.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.常用术语
    应用,入口
    模块,控制器,方法,参数
    模型,视图
    

    2.1入口文件(index.php)

    (1)入口文件是整个WEB应用的起点;
    (2)入口文件最常用的是index.php;
    (3)入口文件并不唯一,例如可在后台单独设置入口:admin.php;
    (4)入口文件可以通过URL重写功能将其隐藏

    2.2应用(application)

    (1)应用是URL请求到完成的(生命周期)处理对象,由 hinkApp 类处理;
    (2)应用必须在入口文件(如index.php)中调用并执行;
    (3)可为不同的应用创建多个入口文件,如后台入口,admin.php;
    (4)应用有自己独立的配置文件(cinfig.php)和公共的函数文件(common.php)

    2.3模块(module)

    (1)一个应用下有多个模块,对应着应用的不同部分,如前台、后台;
    (2)每个模块都可以有完整的MVC类库,创建和管理这些类库是我们最主要的工作;
    (3)每个模块都可以有独立的配置文件(cinfig.php)和公共的函数文件(common.php);
    (4)如果应用简单,可使用单模块模式,'app_mutil_module' => false

    2.4控制器(controller)

    (1)每个模块下可以有多个控制器负责响应URL请求;
    (2)每个控制器对应一个控制类,如User.php;
    (3)控制器管理着模型与视图,使系统资源的调度与分配中心;
    (4)ThinkPHP5的控制器不需要继承任何的基类就可以工作

    2.5操作(action)

    (1)操作对应着控制类中的方法,是URL请求的最小单元;
    (2)任何URL请求,最终都是由控制器中的操作方法来完成;
    (3)操作是整个应用的最终执行单元,是URL路由的核心与目标;

    2.6模型(model)

    (1)模型通常对应整个应用,因此模型通常在应用(application)目录下创建;
    (2)尽管模型主要是针对数据库进行CURD操作,但也可以不操作数据库;
    (3)模型通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据;
    (4)模型返回的数据,通常是数组(array)或者字符串(string);
    (5)模型支持分层操作,例如将模型层分为逻辑层/服务层/事件层。

    2.7视图(view)

    (1)控制器调用模型返回的数据,是通过视图转换成不同格式输出的;
    (2)视图根据请求,调用模版引擎确定是直接输出还是模版解析后再输出;
    (3)视图由大量模版文件组成,这些文件对应着不通控制器中的操作方法;
    (4)模板目录可以动态设置;
    (5)视图最直观的理解就是由一系列的HTML文件组成;

  • 相关阅读:
    为linux系统添加虚拟内存swap分区
    使用exec命令删除前几天产生的日志
    编写脚本:访问一网站,每5分钟访问一次,如果访问成功,将访问记录保存到日志,如果访问失败,则发送邮件至指定邮箱
    html,css学习实践总结
    css清除浮动
    bootstrap简单使用
    jquery笔记
    HTML,CSS笔记
    node学习: package.json
    node笔记
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/12771843.html
Copyright © 2020-2023  润新知