# 使用think-orm
> thinkyaf采用了thinkphp5的輪子,所以你完全可以使用thinkphp的orm進行操作
> 內置了抽象數據庫訪問層,把不同的數據庫操作封裝起來,我們只需要使用公共的Db類進行操作,而無需針對不同的數據庫寫不同的代碼和底層實現,Db類會自動調用相應的數據庫驅動來處理。數據庫抽象訪問層基于PDO方式,目前內置包含了Mysql、SqlServer、PgSQL、Sqlite等數據庫的支持。
如果應用需要使用數據庫,必須配置數據庫連接信息,數據庫的配置文件有多種定義方式。
## 配置文件
具體參考本書[數據庫配置](http://www.hmoore.net/yumufeng/thinkyaf/554833)
~~~
適用于PHP5.6+ 的,最佳平臺PHP 7.1:
- 基于ThinkPHP5.1的ORM獨立封裝,PDO底層
- 支持Mysql、Pgsql、Sqlite、SqlServer、Oracle和Mongodb
- 支持Db類和查詢構造器
- 支持事務
- 支持模型和關聯
~~~
**Db類用法**: 參考[http://www.hmoore.net/manual/thinkphp5\_1/353997](http://www.hmoore.net/manual/thinkphp5_1/353997)
~~~php
use think\Db;
// 進行CURD操作
Db::table('user')
->data(['name'=>'thinkphp','email'=>'thinkphp@qq.com'])
->insert();
Db::table('user')->find();
Db::table('user')
->where('id','>',10)
->order('id','desc')
->limit(10)
->select();
Db::table('user')
->where('id',10)
->update(['name'=>'test']);
Db::table('user')
->where('id',10)
->delete();
~~~
**定義模型**:模型使用參考[http://www.hmoore.net/manual/thinkphp5\_1/354040](http://www.hmoore.net/manual/thinkphp5_1/354040)
~~~php
class UserModel extends Model
{
public function getUserInfo($uid)
{
return $this->where('uid',$uid)->find();
}
}
~~~
代碼調用:
~~~php
$user = new UserModel();
$user->getUserInfo($uid);
~~~
更多操作參考TP5.1的完全開發手冊[數據庫](http://www.hmoore.net/manual/thinkphp5_1/353998)章節
- 序言
- 安裝 Yaf
- Yaf基礎知識
- 1.運行流程
- 2.YAF架構
- 3.目錄結構
- 4.Yaf的配置
- 5.Yaf的Bootstrap
- 6.Yaf的多模塊配置
- 7.Yaf中使用命名空間
- 本書框架配置
- 1.框架目錄結構
- 2.數據庫配置
- 3.緩存配置
- 4.全局配置
- 5.公共助手函數
- 請求與響應
- 1.請求-Request
- 2.響應-Response
- 數據庫操作
- 使用think-orm
- 接口開發
- 1.RESTful接口設計
- 2.Yar RPC接口設計
- 數據驗證
- 數據驗證 - validate
- 網頁開發
- Session
- Cookie
- 路由設置
- 工具類
- 1.Rsa加密
- 2.Random快速生成隨機數
- 3.Cache - 緩存
- 4.Weapp - 微信小程序類
- 5.Qiniu - 七牛云存儲使用
- 6.支付類(微信&支付寶)
- 7.Logs - 日志記錄