[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
- 虛擬主機