c00/common

一个用于数据库访问、依赖注入和日期操作的迷你框架。

0.13.0 2019-07-03 14:47 UTC

README

一个用于解决常见挑战(如数据库查询(ORM)、依赖注入和日期操作)的迷你框架。

这仅仅是一个个人使用工具包,存在于这里有两个原因

  • 这样我可以很容易地在未来的项目中使用Composer导入它
  • 以展示代码示例给潜在雇主。

查询构建器类经过了很好的测试。并不是每个SQL用例都涵盖,但基本需求(如选择、连接、where、order by、group、max、avg、count)都涵盖了。

## 文档 这将慢慢填充。我现在正在记录最重要的功能。不过,欢迎告诉我遗漏的内容,我会扩展。反馈将激励我扩展这个包。

它目前仍然处于Beta版本,尽管我已经在几个不同的项目中广泛使用了ORM部分。测试覆盖了大部分功能。

ORM - 超简单的数据库映射

ORM部分允许您通过最小的设置将对象映射到数据库。对象只需扩展AbstractDatabaseObject。现在您可以保存和查询数据库了。

在没有额外设置的情况下仅扩展AbstractDatabaseObject,它将读取和写入您选择的数据库表,将列映射到属性名。通过一点设置,它将使用您选择的映射(包括转换为您的对象)。如果这还不够,您可以覆盖toArray()fromArray()函数来自行处理。(但这违背了ORM的目的。)

示例可以在showAndTell文件夹中找到。简短版本如下

#### 示例 1:从数据库获取所有用户

$allUsersQuery = Qry::select()
    ->from($userTable)
    ->asClass(User::class);

//All users will be an array over User objects.
$allUsers = $database->getRows($allUsersQuery);

#### 示例 2:从数据库获取一个用户

$getQuery = Qry::select()
    ->from($userTable)
    ->where('id', '=', 1)
    ->asClass(User::class);

$user = $database->getRow($getQuery);

#### 示例 3:向数据库插入一个用户

$query = Qry::insert($userTable, $user);

$database->insertRow($query);

数据库 - 简单且安全的数据库通信

使用PDO连接MySQL / MariaDB数据库。使用QueryBuilder确保了正确的预处理语句。

文档即将推出...

Qry - 查询构建器

一个查询构建器,旨在尽可能接近SQL,以最小化学习曲线。自动为您准备语句。

自动将您的对象转换为数据库就绪数组,反之亦然。

文档即将推出...

### CovleDate - 日期比较和转换 文档即将推出...

### 设置 - 简单的设置保存和加载到JSON文件。文档即将推出...

### 依赖 - 带类型提示的简单依赖注入 文档即将推出...

# 待办事项

  • 升级到版本1.0
  • 添加大量文档和示例。
  • 使用多态性对Qry进行操作。将Qry设为抽象的,并使选择、更新、插入和删除扩展它。
  • 弃用旧查询类

QueryBuilder

  • 为where子句和Join子句添加->and->or支持

# 许可 - MIT 所以你可以随意使用它。