THINKPHP5 Feeling

我眼里的THINKPHP5新亮点(1)

你。 提交于 2019-12-09 10:19:50
1.URL访问 可以看到,无论是URL访问还是命令行访问,都采用PATH_INFO访问地址,其中PATH_INFO的分隔符是可以设置的。注意:5.0取消了URL模式的概念,并且普通模式的URL访问不再支持,但参数可以支持普通方式传值。 即原来的普通模式http://localhost/?m=home&c=user&a=login&var=value(用参数传递来指定模块控制器方法)和兼容模式http://localhost/?s=/home/user/login/var/value(用唯一参数传递模块控制器方法和参数)都废除了。剩下的pathinfo模式和重写模式都可以使用,而且更美观。 2.Traits引入 Trait 是PHP5.4引入的一个新特性。通过两行语句(PHP5.5以上只需第二句)就可以引入指定文件里的方法。感觉和接口差不多,但是trait是有方法体的,所以突出了复用性,接口突出的是多态。讲真我比较喜欢trait,所以看到TP5有这个特性也是眼前一亮。 load_trait('controller/Jump'); // 引入traits\controller\Jump use \traits\controller\Jump; 3.路由定义 TP5的路由的变化真的太大了...TP3的时候路由还是默认路由(模块控制器方法 对应就是 相应的路由)

我眼里的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.单元测试