ThinkPHP5源码学习篇--Db操作

学习Db类

在ThinkPHP5.0的框架使用过程中,Db类是一定会接触到的,上手不难,但若想随心所欲的用,还是需要了解一番。比如我记忆力不太好,在开发过程中添加where,若出现like,eq等等条件,老是忘了后面是跟数组呢还是逗号分割;再使用join时,想要LEFT或RIGHT时,又忘了如何注明。迫不得己,用一次看一次文档。在之前零零碎碎的源码学习过程中,虽说也记不起许多细节,也说不出到底学了什么,但总归自己觉得有了进步,起码对TP5这个框架使用更加得心应手,毕竟技术服务于业务,能够写出更简介、更方便、更有效的业务代码,本身就是一件身心愉悦的事儿。


查询

Db::table(‘t_user’)->where(‘id’, 1)->find();
查询t_user表中id等于1的行,所以将目光聚焦thinkphp/library/think/Db.php文件。

PHPStorm提示

先说个和业务无关的题外话,Db类内部没有找到table()静态方法,可是我们在开发时,输入Db+两个引号,会弹出多个方法提示,其中包括了table()。这就觉得有点奇怪了,打开Db代码,发现包含了大堆对method的注释。我照着新增@method注解后,自定义方式IDE也会提示了!真是个好玩意儿,比如我喜欢把redis封装成单例工具类。那么再某些情况下,实例对象调用方法时,调试上不太友好。基于Db的类注释,刚刚已经确认能够在开发中增加提示,让开发过程更舒服。

/**
 * Class Db
 * @package think
 * @method Query table(string $table) static 指定数据表(含前缀)
 * @method Query name(string $name) static 指定数据表(不含前缀)
 * @method Query where(mixed $field, string $op = null, mixed $condition = null) static 查询条件
 * @method Query join(mixed $join, mixed $condition = null, string $type = 'INNER') static JOIN查询
 * @method Query union(mixed $union, boolean $all = false) static UNION查询
 * @method Query limit(mixed $offset, integer $length = null) static 查询LIMIT
 * @method Query order(mixed $field, string $order = null) static 查询ORDER
 * @method Query cache(mixed $key = null , integer $expire = null) static 设置查询缓存
 * @method mixed value(string $field) static 获取某个字段的值
 * @method array column(string $field, string $key = '') stat
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值