我眼里的THINKPHP5新亮点(2)

北战南征 提交于 2019-12-07 14:17:23

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)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!