# 数据库(Database)
## 简介
集成PDO的常用功能,SQL拼接器,模型,大概就这几个功能。
## 工作原理&注意事项
详细说的话可能比较浪费篇幅,这里只说几个重要的点。
1. 实例化Manager时,其实并不会创建PDO对象,需要调用init方法才会创建。
2. 每个实例只可能存在一个PDO对象,不会出现一个实例中使用好几个PDO对象的情况。
3. SQL拼接器参考了Laravel等框架,并使用DB门面作为快速创建拼接器的途径(DB::table())
4. SQL拼接器将各种查询子句分门别类,在拼接时才进行整理。同时支持PDO的预处理功能,把参数替换成?。
5. 支持事务,跟PDO用法一模一样。
6. 目前只支持MySQL语法。
其他的暂时没啥好说的吧。
## 模型
同样也是参考了Laravel,不需要定义实际的成员变量,可以通过魔术方法和ArrayAccess读写数据。
其实怎么说呢,相比Laravel就少了关联和数据持久功能,不过在DB类中也实现了类似save的功能。关联就手动进行查询就好了,反正也不多(大嘘)。