Thinkphp 5.1

本文详细介绍了ThinkPHP5.1框架的关键特性,包括PHP版本要求、配置管理、依赖注入、容器概念、门面、钩子、中间件、RESTful资源控制器、模型事件及异常处理等。同时,强调了日志记录和助手函数的使用,为开发者提供了更高效和规范的开发指导。
摘要由CSDN通过智能技术生成

简而言之

TP5.1要求PHP V>5.6.0。

取消了系统路径的常量定义,配置文件从类库目录里独立出来,配置参数全是二级配置,配置名称区分大小写【建议统一用小写】。

所有应用从入口文件开始,public目录为可访问目录。linux环境下面,runtime目录权限为777。

可以对增删改查方法设置对应的回调函数【before_*,after_*】。

TP5.1明确了容器【think\Container】的概念,容器可以理解为是将一些类的实例化对象【如常用的核心类库对象】保存进来,并给予一个调用标识【区分大小写】。

可通过bind助手函数单个或批量地绑定类、闭包、实例、接口实现到容器中,可通过app()助手函数获取容器里的对象实例。

依赖注入可以理解为是把类的依赖通过构造函数或者其它方法注入到类中,例如把依赖类的实例化对象作为当前类里构造函数的参数,然后在构造函数里将其赋给类里的自定义变量。

和TP5.0不用的是,类的绑定不再通过Request对象,而是直接注册到容器中,依赖注入会先检查容器里是否有需要的对象实例,有的话就自动注入。

门面【Facade】为容器中的类提供了一个静态调用接口。

钩子【Hook】可以理解为是在应用程序生命周期里选取的一些用于调用一些方法实现一些行为的特定位置点,类似于AOP【面向切面编程】的“切面”概念。

中间件【Middleware】主要用于拦截或过滤应用的HTTP请求,进行一些业务处理。中间件的入口方法必须是handler方法,且第一个参数是Request对象,第二个参数是一个闭包方法,返回Response对象。

可以通过命令行创建RESTful资源控制器类,再在路由规则里注册资源路由【Route::resource】,可以节省书写代码工作量。

控制器方法里参数绑定传入的值会经过全局过滤。

请求缓存仅对GET请求有效。

TP5 V5.0.21+ 可通过download助手函数实现文件下载功能,可设置文件下载的有效期,文件下载路径是服务器路径而不是URL路径,找不到文件会抛出异常。

可在模型类里设置$type属性规定一些字段的数据类型【自动转换】,可在模型类里设置命名方式为“set字段名大驼峰写法attr”的方法来对字段数据存储前进行处理,可在模型类里设置命名方式为“get字段名大驼峰写法attr”的方法来对读取后的数据进一步处理。

可在模型类里设置一些模型事件,用于在save()方法和delete()方法调用前后触发。

TP5.1里很多异常是自动捕获和抛出的,可通过助手函数exception()手动抛出异常,abort()方法快速抛出HTTP异常。

系统会在请求后自动调用Log::save()方法,所以通常只需要调用Log::record()方法记录日志信息即可。助手函数trace()用于日志记录。可用Log::clear()清空内存里的日志信息。

助手函数只是用于简化方法调用的代码书写量,框架核心代码里并没有依赖助手函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值