thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空
本文讲述了thinkPHP5.0框架整体架构。分享给大家供大家参考,具体如下: ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织。
5.0的URL访问受路由决定,如果关闭路由或者没有匹配路由的情况下,则是基于:
下面的一些概念有必要做下了解,可能在后面的内容中经常会被提及。 用户请求的PHP文件,负责处理一个请求(注意,不一定是URL请求)的生命周期,最常见的入口文件就是 应用在ThinkPHP中是一个管理系统架构及生命周期的对象,由系统的 应用具有自己独立的配置文件、公共(函数)文件。 模块一个典型的应用是由多个模块组成的,这些模块通常都是应用目录下面的一个子目录,每个模块都自己独立的配置文件、公共文件和类库文件。
每个模块拥有独立的MVC类库及配置文件,一个模块下面有多个控制器负责响应请求,而每个控制器其实就是一个独立的控制器类。 控制器主要负责请求的接收,并调用相关的模型处理,并最终通过视图输出。严格来说,控制器不应该过多的介入业务逻辑处理。
5.0的控制器类比较灵活,可以无需继承任何基础类库。 一个典型的Index控制器类如下: 一个控制器包含多个操作(方法),操作方法是一个URL访问的最小单元。 下面是一个典型的Index控制器的操作方法定义,包含了两个操作方法: 操作方法可以不使用任何参数,如果定义了一个非可选参数,则该参数必须通过用户请求传入,如果是URL请求,则通常是$_GET或者$_POST方式传入。 模型模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。
控制器调用模型类后返回的数据通过视图组装成不同格式的输出。视图根据不同的需求,来决定调用模板引擎进行内容解析后输出还是直接输出。 视图通常会有一系列的模板文件对应不同的控制器和操作方法,并且支持动态设置模板目录。 系统很多的组件都采用驱动式设计,从而可以更灵活的扩展,驱动类的位置默认是放入核心类库目录下面,也可以重新定义驱动类库的命名空间而改变驱动的文件位置。 行为行为(Behavior)是在预先定义好的一个应用位置执行的一些操作。类似于AOP编程中的“切面”的概念,给某一个切面绑定相关行为就成了一种类AOP编程的思想。所以,行为通常是和某个位置相关,行为的执行时间依赖于绑定到了哪个位置上。 要执行行为,首先要在应用程序中进行行为侦听,例如: 然后对某个位置进行行为绑定: 一个位置上如果绑定了多个行为的,按照绑定的顺序依次执行,除非遇到中断。 命名空间ThinkPHP5采用了PHP的命名空间进行类库文件的设计和规划,并且符合 更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》。 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |