温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么操作Thinkphp 框架扩展之数据库驱动

发布时间:2021-03-08 16:32:15 来源:亿速云 阅读:207 作者:TREX 栏目:开发技术

这篇文章主要讲解了“怎么操作Thinkphp 框架扩展之数据库驱动”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么操作Thinkphp 框架扩展之数据库驱动”吧!

数据库驱动

默认的数据库驱动位于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 框架扩展之数据库驱动这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI