十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“怎么操作Thinkphp 框架扩展之数据库驱动”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么操作Thinkphp 框架扩展之数据库驱动”吧!
南安ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!默认的数据库驱动位于Think\Db\Driver命名空间下面,驱动类必须继承Think\Db类,每个数据库驱动必须要实现的接口方法包括(具体参数可以参考现有的数据库驱动类库):
驱动方法 | 方法说明 |
---|---|
架构方法 | __construct($config='') |
数据库连接方法 | connect($config='',$linkNum=0,$force=false) |
释放查询方法 | free() |
查询操作方法 | query($str) |
执行操作方法 | execute($str) |
开启事务方法 | startTrans() |
事务提交方法 | commit() |
事务回滚方法 | rollback() |
获取查询数据方法 | getAll() |
获取字段信息方法 | getFields($tableName) |
获取数据库的表 | getTables($dbName='') |
关闭数据库方法 | close() |
获取错误信息方法 | error() |
SQL安全过滤方法 | escapeString($str) |
数据库的CURD接口方法(通常这些方法无需重新定义)
方法 | 说明 |
---|---|
写入 | insert($data,$options=array(),$replace=false) |
更新 | update($data,$options) |
删除 | delete($options=array()) |
查询 | select($options=array()) |
介于不同数据库的查询方法存在区别,所以经常需要对查询的语句进行重新定义,这就需要修改针对查询的selectSql属性。该属性定义了当前数据库驱动的查询表达式,默认的定义是:
'SELECT%DISTINCT% %FIELD% FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%'
驱动可以更改或者删除个别查询定义,或者更改某个替换字符串的解析方法,这些方法包括:
方法名 | 说明 | 对应 |
---|---|---|
parseTable | 数据库表名解析 | %TABLE% |
parseWhere | 数据库查询条件解析 | %WHERE% |
parseLimit | 数据库查询Limit解析 | %LIMIT% |
parseJoin | 数据库JOIN查询解析 | %JOIN% |
parseOrder | 数据库查询排序解析 | %ORDER% |
parseGroup | 数据库group查询解析 | %GROUP% |
parseHaving | 数据库having解析 | %HAVING% |
parseDistinct | 数据库distinct解析 | %DISTINCT% |
parseUnion | 数据库union解析 | %UNION% |
parseField | 数据库字段解析 | %FIELD% |
驱动的其他方法根据自身驱动需要和特性进行添加,例如,有些数据库的特殊性,需要覆盖父类Db类中的解析和过滤方法,包括:
方法名 | 说明 |
---|---|
parseKey | 数据库字段名解析 |
parseValue | 数据库字段值解析 |
parseSet | 数据库set分析 |
parseLock | 数据库锁机制 |
定义了驱动扩展后,需要使用的时候,设置相应的数据库类型即可:
'DB_TYPE'=>'odbc', // 数据库类型配置不区分大小写
感谢各位的阅读,以上就是“怎么操作Thinkphp 框架扩展之数据库驱动”的内容了,经过本文的学习后,相信大家对怎么操作Thinkphp 框架扩展之数据库驱动这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联网站建设公司,,小编将为大家推送更多相关知识点的文章,欢迎关注!