tinkphp5使用中碰到的问题 持续更新

1.使用助手函数(如controller(),model(),validate())进行实例化时只需要引入think\Controller或think\Model或think\Validate即可,无需引入实例化类所在的文件。
 
在实例化模型时如果用new来实例化时,就需要引入与之对应的类文件,如果控制器类名和该模型的类名相同时,会引发冲突,报错。
 
 
 
2.今天在注册用户时验证碰到一个问题,创建了验证类文件,使用$this->validate(true)->save($data)进行插入数据时,此时数据$data中多了一个密码确认字段,导致无法插入数据库,而使用$this->validate(true)->save([要插入的字段])这个方法进行插入时,又导致无法验证密码确认字段,最终解决是用:先用validate实例化验证类,在执行check($data)方法对发送的数据进行验证,最终插入需要的字段
 
3.使用halt()方法调试输出数据时要注意,如果有循环时应小心使用,会终止循环的。
 
4.tp5中删除文件用unlink(文件路径)方法,文件路径要用绝对路径。
 
5.tp5前置后置操作,详情参考手册
 
6.validate()助手函数实例化时只能实例化自身模块的验证器类,如果要实例化其他模块的验证器类要这样
$validate=validate('\app\admin\validate\MemberLevel');
 
7.用模型进行select()查询时,返回到数据时对象,要是只想要数组数据可以使用db()执行select();
 
8.用halt()方法和dump()进行调试数据时三级数组之后显示不全,要注意。
 
9.thinkphp5后版本模板文件中跳转使用url函数,不然跳转会出现错误,例子:使用url带参数跳转{:url('index/index',['id'=>1])}
posted @ 2017-08-07 16:32  坚持一点点  阅读(225)  评论(0编辑  收藏  举报