1.模型->获取器、修改器、聚合模型
获取器的作用是在获取数据的字段值后自动进行处理。修改器的作用是可以在数据赋值的时候自动进行转换处理。
感觉在实际应用中是挺有用的,比如表单有个radio选项是1天,3天,5天,存进数据库应该是存int或enum类型,这时候就需要修改器(或者用radio的value传数字);然后要把表单信息列在表格也需要从int/enum转成字符串1天,3天,5天,这时候就需要获取器。在TP3.2之前这些操作都是在显示前进行判断来转换。现在有这些TP有的方法也是系统和方便了很多。
聚合模型也是我觉得挺好的。其实就是对两张表关联起来,对有紧密联系的两张表的操作还是会有挺多的。所以继承的是Merge而不是原来的Model。
2.模板标签<volist><eq>现在变成{volist}{eq}
默认是{},不过可以通过以下配置来改成原来尖括号<>的那种形式
'template' => [
// 模板引擎
'type' => 'think',
//标签库标签开始标签
'taglib_begin' => '<',
//标签库标签结束标记
'taglib_end' => '>',
],
3.异常处理
这个在(1)的时候提到了,在文档里也有详细的说明。
和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面。
4.单元测试
貌似之前的TP版本是没有这个特性。TP5的免费文档里也是一笔带过单元测试,所以这是需要看源码才能了解用法吗...或许在收费文档里有详细介绍?
感觉现在都在规范开发流程,所以测试也作为一个必要的步骤。其实本人没怎么用过测试,尝试过的就只有phpunit,ab。嗯以后还是要多接触一下测试的方法。
5.数据库
数据库的各种方法和Laravel大同小异,虽然之前的模式也差不多但是起码有TP自己的特色。改的不多不过也多了几个挺有用的函数,比如chunk、each。
安利一波 TP5免费文档的附录->升级指导,详细地说明了5.0和3.2的不同点,很熟悉3.2及之前版本的人应该会很有感触吧,毕竟好像自己的孩子长大了而且还脱胎换骨了一样哈哈哈。正如里面所说的,强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本。
BTW,希望TP越来越强大!
如有错误,恳请指点。_(:з」∠)_,谢谢观看。
参考:ThinkPHP5.0完全开发手册(http://www.kancloud.cn/manual/thinkphp5)
来源:oschina
链接:https://my.oschina.net/u/2366098/blog/751671