[TOC]
### 组件说明
> Lying的数据库连接使用的Connection组件,只支持Mysql(php和mysql就像薯条配番茄酱)。
### 配置选项
| 配置名 | 参数类型 | 可选 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| class | string | 是 | lying\db\Connection | 可配置 |
| dsn | string | 是 | null | 数据库dsn |
| user | string | 是 | null | 数据库账号 |
| pass | string | 是 | null | 数据库密码 |
| options | array | 是 | [] | 额外的PDO选项 |
| prefix | string | 是 | '' | 默认表前缀 |
| cache | string | 是 | null | 缓存组件ID |
| slave | array | 是 | [] | 从库列表 |
| master | array | 是 | [] | 主库列表 |
### service配置
Lying的数据库连接示例配置如下:
~~~php
'db' => [
'class' => 'lying\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8',
'user' => 'root',
'pass' => 'root',
'options' => [], //额外的PDO参数
'prefix' => 'b_', //数据库前缀
'cache' => false, //使用的缓存ID,设置为false则不使用缓存(缓存表结构)
'slave' => [
['dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root'],
['dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root'],
['dsn' => 'mysql:host=127.0.0.1;dbname=lying;charset=utf8', 'user' => 'root', 'pass' => 'root'],
],
'master' => [
],
],
~~~
### 调用方式
~~~php
\Lying::$maker->get('db');
\Lying::$maker->db('dbId');
\Lying::$maker->db;`
~~~
### 方法列表
db组件就是一个`lying\db\Connection`实例,其中class就是组件ID所对应的类名,并且`dsn`,`user`,`pass`都是必须的。
下面代码将为你演示db的用法:
~~~php
$db = \Lying::$maker->db; //获取db组件实例
$db->masterPdo(); //获取主库PDO实例
$db->slavePdo(); //获取从库PDO实例
$db->begin(); //开始事务
$db->commit(); //提交事务
$db->rollBack(); //回滚事务
$db->lastInsertId(); //返回最后插入行的自增ID
$db->prepare(); //预处理语句
$db->schema(); //获取Schema实例
$db->query(); //创建查询生成器
~~~
- 序言
- 更新日志
- 安装
- 规范
- 常量
- 配置
- 自动加载
- MVC
- 模块
- 控制器
- 模型
- 视图
- php原生模板
- 模板引擎
- 变量输出
- 模板注释
- 模板继承
- 模板引用
- 流程控制
- 原样输出
- 服务组件
- Hook组件
- Request组件
- Router组件
- Cookie组件
- Encrypter组件
- Dispatch组件
- Response组件
- View组件
- Session组件
- Helper组件
- 数据分页
- 数据验证
- Logger组件
- Cache组件
- Redis组件
- Connection组件
- 执行sql语句
- 查询生成器
- 查询方法详解
- Schema
- Captcha组件
- CLI
- CLI工具
- 事件
- 类事件
- 实例事件
- 全局事件
- 助手函数
- 扩展
- 异常
- 部署
- Apache
- Nginx
- IIS
- 虚拟主机