php mvc的特征,ThinkPHP框架基本特点

ThinkPHP框架基本特点

ThinkPHP是一个简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用PHP面向对象设计模式和MVC模式,在实现MVC的同时,其模型层又是一个ORM框架。整个框架具有如下特点:

1、分层MVC架构

ThinkPHP在实现MVC架构的同时实现了多层架构,即应用程序在分成模型、视图和控制器的这三层的同时,这三层又可以继续分成多个子层。

例如模型层又可以区分数据层、逻辑层、服务层等不同的模型层,那对用户表的模型操作来说,可以分成如下层次:

数据层:Model/UserModel 用于定义数据相关的自动验证和自动完成和数据存取接口

逻辑层:Logic/UserLogic 用于定义用户相关的业务逻辑

服务层:Service/UserService 用于定义用户相关的服务接口等。

2、单入口文件,模块化设计

ThinkPHP所有的操作都通过一个单一的入口文件,默认的入口文件为index.php,用户自己定义并修改为自己的入口文件。入口文件主要用于载入框架入口文件定义定义框架路径、项目路径等。

3、CBD(核心Core+行为Behavior+驱动Driver)架构模式

ThinkPHP从3.0版本开始引入了全新的CBD(核心Core+行为Behavior+驱动Driver)架构模式,框架从底层采用核心+行为+驱动的架构体系,核心保留了最关键的部分,并在重要位置设置了标签用以标记。在一些外部依赖功能上采用驱动设计,一个功能通过不同的驱动可以有多种实现,框架在这些驱动之上提供统一的抽象接口。比如,框架提供了多种缓存驱动类来支持当前流行的各种缓存服务:

8a498d7141c456ccd0485152d99e37b6.png

4、多URL模式

ThinkPHP提供了多种URL模式,用户可以根据项目的实际需要来实现不同的URL风格。ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式。

普通模式:也就是传统的GET传参方式来指定当前访问的模块和操作,例如:http://localhost/?m=home&c=user&a=login&var=value。m参数表示模块,c参数表示控制器,a参数表示操作(当然这些参数都是可以配置的),后面的表示其他GET参数。

PATHINFO模式:是系统的默认URL模式,PATHINFO模式下面的URL访问地址是:http://localhost/index.php/home/user/login/var/value/。在PATHINFO模式下面,依然可以采用普通URL模式的参数方式,例如:

http://localhost/index.php/home/user/login?var=value依然是有效的。

REWRITE模式:是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。去掉路径中的index.php之后就可以用下面的URL地址访问了:http://localhost/home/user/login/var/value。

兼容模式:是用于不支持PATHINFO的特殊环境,URL地址是:

http://localhost/?s=/home/user/login/var/value。

PATHINFO地址的前三个参数分别表示模块/控制器/操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值