365体育备用网址报道25.1.3常用概念_365体育备用网址官网资讯

使用ThinkPHP时,需要对以下概念有比较深的认识。
MVC
ThinkPHP5.0应用基于MVC(模型-视图-操纵器)的方式来组织。MVC是一个设计模式,它强制性的使应用程序的输入、处置和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、操纵器(C),它们各自处置自己的任务。
入口文件
用户要求的PHP文件,负责处置一个要求的生命周期,最常见的入口文件就是index.php,有时刻也会为了某些特别的需求而增加新的入口文件,例如给后台模块单独设置的一个入口文件admin.php或者一个操纵器程序入口think都属于入口文件。
应用
应用在ThinkPHP中是一个治理系统架构及生命周期的对象,由系统的 \think\App类完成,应用通常在入口文件中被调用和执行,具有相同的应用目录(APP_PATH)的应用我们认为是同一个应用,但一个应用可能存在多个入口文件。
应用具有自己独立的配置文件、公共(函数)文件。
模块
一个典范的应用是由多个模块组成的,这些模块通常都是应用目录下面的一个子目录,每个模块都有自己独立的配置文件、公共文件和类库文件。ThinkPHP5.0撑腰单一模块架构设计,如果你的应用下面只有一个模块,那么这个模块的子目录能够省略。
操纵器
每个模块拥有独立的MVC类库及配置文件,一个模块下面有多个操纵器负责响应要求,而每个操纵器其实就是一个独立的操纵器类。操纵器主要负责要求的接收,并调用相关的模型处置,并最终通过视图输出。严厉来说,操纵器不应该过多的介入业务逻辑处置。
一个典范的Index操纵器类如下:

namespace app\index\controller;

class Index 
{
    public function index()
    {
        return 'index';
    }

    public function hello($name)
    {
        return 'Hello,'.$name;
    }
}

操作
一个操纵器包含多个操作(方法),操作方法是一个URL访问的最小单元。操作方法能够不使用任何参数,如果定义了一个非可选参数,则该参数必须通过用户要求传入,如果是URL要求,则通常是$_GET或者$_POST方式传入。
上述Index操纵器的包含了两个操作方法:index和hello。
模型
模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。模型类并不肯定要访问数据库,而且在5.0的架构设计中,只有进行实际的数据库查询操作的时刻,才会进行数据库的连接,是真正的惰性连接。
ThinkPHP的模型层撑腰多层设计,你能够对模型层进行更细化的设计和分工,例如把模型层分为逻辑层/服务层/事情层等等。
视图
操纵器调用模型类后返回的数据通过视图组装成不同格式的输出。视图依据不同的需求,来决议调用模板引擎进行内容解析后输出还是直接输出。视图通常会有一系列的模板文件对应不同的操纵器和操作方法,并且撑腰动态设置模板目录。
驱动
系统很多的组件都采纳驱动式设计,从而能够更机动的扩展,驱动类的地位默认是放入核心类库目录下面,也能够重新定义驱动类库的命名空间而改变驱动的文件地位。
行为
行为(Behavior)是在预先定义好的一个应用地位执行的一些操作。类似于AOP编程中的“切面”的概念,给某一个切面绑定相关行为就成了一种类AOP编程的思想。所以,行为通常是和某个地位相关,行为的执行时间依赖于绑定到了哪个地位上。
要执行行为,首先要在应用程序中进行行为侦听,例如:

// 在app_init地位侦听行为
\think\Hook::listen('app_init');

然后对某个地位进行行为绑定:

// 绑定行为到app_init地位
\think\Hook::add('app_init','\app\index\behavior\Test');

一个地位上如果绑定了多个行为的,按照绑定的顺序依次执行,除非遇到中断。
命名空间
ThinkPHP5采纳了PHP的命名空间进行类库文件的设计和规划,并且符合PSR-4的主动加载规范。

------分隔线----------------------------

公布评论 (112人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换在线娱乐城
最新评论