ThinkPHP3.2.3版本数据库驱动采用PDO完全重写,配置和使用上面也比之前版本更加灵活和强大,我们来了解下如何使用。
首先,3.2.3的数据库配置信息有所调整,完整的数据库设置包括:
复制代码 代码如下:
/* 数据库设置 */
‘DB_TYPE’ => ”, // 数据库类型
‘DB_HOST’ => ”, // 服务器地址
‘DB_NAME’ => ”, // 数据库名
‘DB_USER’ => ”, // 用户名
‘
在ThinkPHP3.2.3版本中,数据库设置进行了重大改进,主要体现在以下几个方面:
1. **数据库驱动的改变**:3.2.3版本采用了PDO(PHP Data Objects)进行数据库驱动的完全重写,这使得数据库操作变得更加灵活且功能更加强大。PDO是一个PHP的数据库访问层,支持多种数据库系统,如MySQL、SQLite、Oracle等,通过PDO,开发者可以编写跨数据库平台的代码。
2. **数据库配置调整**:配置文件中的数据库设置参数有所调整。例如,`DB_TYPE`用于设置数据库类型,不再支持直接设置为PDO,而是根据实际使用的数据库类型(如`mysql`、`sqlite`等)来设定。`DB_HOST`是服务器地址,通常填写数据库服务器的IP或域名;`DB_NAME`是数据库名称;`DB_USER`是数据库用户名;`DB_PWD`是对应的密码;`DB_PORT`是数据库服务的端口号,如果不填则使用默认端口;`DB_CHARSET`指定数据库字符集,常用的是`utf8`。
3. **新增与取消的设置参数**:3.2.3版本中取消了如`DB_FIELDTYPE_CHECK`、`DB_SQL_BUILD_CACHE`、`DB_SQL_BUILD_QUEUE`和`DB_SQL_BUILD_LENGTH`这些参数,这些功能现在已被其他方式替代或者不再使用。新增了`DB_DEBUG`参数,用于开启数据库调试模式,记录SQL日志;另外,`DB_LITE`参数则用于开启数据库Lite模式,这种模式下只能使用原生SQL查询。
4. **独立的数据库调试模式**:在3.2.2版本中,数据库的调试模式与项目的整体调试模式(由`APP_DEBUG`常量定义)是一致的,而在3.2.3版本中,数据库的调试模式可以通过`DB_DEBUG`单独设置,增强了调试的灵活性。
5. **数据库连接参数**:`DB_PARAMS`是一个数组,用于设置数据库连接的额外参数,这些参数将在创建PDO连接时传递。例如,如果需要设置连接超时时间,可以在该数组中添加相应的键值对。
6. **数据库部署策略**:`DB_DEPLOY_TYPE`参数用于设定数据库部署方式,0表示集中式(单一服务器),1表示分布式(主从服务器)。而`DB_RW_SEPARATE`参数用于开启读写分离,当主从服务器部署时有效。`DB_MASTER_NUM`指定了主服务器的数量,`DB_SLAVE_NO`则用于指定从服务器的序号。
7. **字段缓存**:`DB_FIELDS_CACHE`参数控制是否启用字段缓存,启用后可以提高查询效率。`DB_CHARSET`参数用于设置数据库的字符集,默认为`utf8`。
8. **PDO自动参数绑定**:由于采用了PDO,`DB_BIND_PARAM`参数不再需要设置,PDO自身会自动处理参数绑定,提高了安全性。
9. **数据库连接DSN**:`DB_DSN`参数一般不需要手动设置,系统会根据所选的数据库类型生成相应的数据源名称(DSN),但如果需要自定义,应遵循PDO的DSN格式。
通过这些新的设置,ThinkPHP3.2.3提供了更高效、更灵活的数据库操作,同时也增强了系统的可维护性和可扩展性。开发人员可以根据项目的具体需求,合理配置这些参数,优化数据库性能,实现高效的数据管理。