ThinkPHP官网首页

ENGLISH

Manual

6.5 驱动扩展

数据库抽象层的设计是由抽象数据库操作类和数据库驱动类组成的,内置的数据库驱动是MySQL和MySQLi驱动类,官方的扩展还提供了MsSQL、PgSQL、Sqlite、Oracle、Ibase以及PDO驱动类,可以满足常用的数据库操作的需要。

要扩展其他的数据库驱动类,只需要继承Db类,驱动类的命名规范是:

Db+驱动类名称(首字母大写)

例如,假如你需要扩展一个ODBC的数据库驱动,应该命名为:DbOdbc.class.php,并放到系统的Lib\Think\Db\Driver目录下面。



PHP代码


  1. Class DbOdbc  extends Db{   

  2. }  



然后,需要使用的时候,设置相应的数据库类型即可:

'DB_TYPE'=>'Odbc', // 数据库类型配置不区分大小写

每个数据库驱动需要实现的方法包括(具体参数可以参考现有的数据库驱动类库):

 架构和析构方法

 Connect 连接数据库方法

 Free 释放查询方法

 Query 查询操作方法

 Execue 执行操作方法

 startTrans 开启事务方法

 commit 事务提交方法

 rollback 事务回滚方法

 getAll 获取查询数据方法

 getFields 取得数据表的字段信息

 getTables 取得数据库的表信息

 close 关闭数据库连接方法

 error 获取数据库错误信息

 escape_string SQL安全过滤方法