ThinkPHP开发技巧集锦
八点博客(钏)
专注分享技术交流
展开
-
ThinkPHP开发技巧集锦(一):使用validate构建参数验证层
普通使用$data = [ 'id' => $id ]; $validate = new Validate([ 'id' => 'require|max:10', ]); $result = $validate->batch()->check($data);...原创 2019-04-27 20:41:23 · 445 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(6):设置数据库返回查询结果类型array/collection
将array->collection1、直接转换collection($result)->hidden(['time','type']);2、提前设置(database.php)//'resultset_type' => 'array','resultset_type' => 'collection',...原创 2019-05-01 11:21:13 · 1938 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(5):自定义配置
1、新建application\extra\setting.phpreturn [ 'img_prefix' => 'http://666.cn/images'];2、读取config('setting.img_prefix')ThinkPHP5默认自定加载extra的配置文件原创 2019-04-29 22:17:56 · 207 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(11):使用事务
注:使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。第一种方法:自动控制事务处理使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如:Db::transaction(function(){ Db::table('think_user')->find(1); D...原创 2019-05-04 20:29:56 · 439 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(4):ORM
ORM:Object Relation Mapping 对象关系映射原创 2019-04-28 22:21:18 · 194 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(3):开启数据库sql日志
1、config.php'app_debug' => true,'log' => [ // 日志记录方式,内置 file socket 支持扩展 'type' => 'File', //设置,test为关闭 // 日志保存目录 'path' => LOG_PATH, // 日志记...原创 2019-04-28 21:11:57 · 2040 阅读 · 0 评论 -
微信小程序开发技巧集锦(3):通过token判断用户权限
准备:https://blog.csdn.net/sinat_37390744/article/details/89739559 https://blog.csdn.net/sinat_37390744/article/details/89765901前提:上回我们通过获取到 用户openid 将用户信息写入缓存 ,然后将 $key(Token) 返回给客户端小程序;缓存内容如...原创 2019-05-03 12:14:00 · 1648 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(10):前置操作
注:须继承think\Controller一共有3种情况:1、所有方法执行前均要执行first方法protected $beforeActionList = [ 'first' //所有方法都需要执行first操作];2、只有second、third方法执行前均要执行first方法protected $beforeActionList = [ 'fi...原创 2019-05-03 11:31:04 · 236 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(9):防止用户恶意提交(过滤)敏感数据
1、BaseValidate.phppublic function getDataByRule($arrays) { if (array_key_exists('user_id',$arrays) | array_key_exists('uid',$arrays)){ throw new ParameterException(['msg'=...原创 2019-05-02 22:29:24 · 845 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(2):自定义日志存储目录
追本溯源:1、config.php中'log' => [ // 日志记录方式,内置 file socket 支持扩展 'type' => 'File', // 日志保存目录 'path' => LOG_PATH, // 日志记录级别 'level' => [],...原创 2019-04-28 11:12:37 · 1582 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(8):使用闭包函数构建查询器
说明:(1)普通情况下,查询结果排序直接调用order即可(2)如果想对关联的数据排序,就需要构建闭包查询器;//将产品的多张图片按照showOrder顺序显示出来public static function getProductDetail($id) { return self::with([ 'imgs' => functi...原创 2019-05-02 20:07:54 · 359 阅读 · 0 评论 -
ThinkPHP开发技巧集锦(7):正则表达式定义路由规则
分析:正常情况:两种路由均可以正常访问Route::get('/product/recent','Product/getRecent');Route::get('/product/:id','Product/getOne');不正常情况:调换次序后,路由访问时会把 recent作为 id处理Route::get('/product/:id','Product/getOne'...原创 2019-05-02 16:50:42 · 492 阅读 · 0 评论 -
微信小程序开发技巧集锦(7):实现picker
1、view<picker class="{{product.stock==0?'disabled':''}}" bindchange='bindPickerChange' range="{{test}}" value=''> <text class='counts-data'>数量{{productCount}}</text>2、j...原创 2019-05-09 12:27:04 · 312 阅读 · 0 评论