最近在用Thinkphp框架,遇到了这些问题。
1.关于M(),方法和D()方法
M()方法中的参数是数据库的表名,D()方法是实例化model下的文件,然后再去找数据表
表现是M方法 不用建立Model文件,而D()方法需要新建文件,而相对应的M()方法只能用些系统自定义的函数, 所以都建议即使建立了model文件,查询的时候用M()->selet方法,这样省性能,但是也有人说后期在代码维护的时候如果要做一些这个表的其他操作的时候,还要在添加model文件,逻辑都要改,所以不差M方法的那些小性能,所以有些人是禁用M方法用一律用D方法。
最近也在用M(‘model’)->getLastSql();但是老是打印不出最后一条执行的语句,最后获取全局的最后一条执行的语句M()->getLastSql,就拿到了,这个问题也没解决,会提示这个表在driver中没有这个Key,
2.关于Tinkphp如何打印变量类型的log
有的时候在调用\think\log::record();打印log的时候,特别接口是被ajax调用的时候就无法用var_dump打印出类型,这个时候这么写就可以打印类型 \think\log::record(print_r($var,1));就可以记录到log中。print_r() ;一般直接输出到浏览器是可以直接查看的。但是记录到文本中的时候,就不行了,这个时候加上一个参数,将捕获结果于变量中,手册里面的原句是:
bool