ritalin/omelet

PHP 的 SQL 基础对象映射器

0.3.4 2015-07-08 06:11 UTC

README

这个库受到了 Doma(https://github.com/domaframework/doma) 的启发。

要求

php >= 5.5.x

安装

Omelet 可以通过 Composer 安装。

在您的 composer.json 文件中定义以下要求

{
    "require": {
        "ritalin/omelet": "*"
    }
}

快速入门

  1. 定义 Dao (数据访问对象) 接口。

    • DAO 方法需要使用注释来区分数据库命令/查询。
    use \Omelet\Annotation\Select;
    
    interface TodoDao {
        /**
         * @Select
         */
        function listAll();
    }
  2. 准备与方法同名的 sql 文件。sql 文件路径取决于 dao 接口的命名空间。

    -- listAll.sql
    select * from todo order by id
  3. 实例化 \Omelet\Builder\DaoBuilderContext .

    • 至少需要一个数据库连接字符串作为配置。
    $config = \Omelet\Builder\Configuration;
    $config->connectionString = "driver=pdo_sqlite&path=/path/to/todo.sqlite3";
    
    $context = new \Omelet\Builder\DaoBuilderContext($config);
  4. 生成 Dao 具体类。

    $context->build(Todo::class);
  5. 使用 Dao。

    • 请注意 Dao 具体类名称通常在接口名称后默认附加 'Impl'。
    $conn = \Doctrine\DBAL\DriverManager->getConnection($context->connectionString());
    $dao = new TodoImpl($conn, $context);
    $rows = $dao->listAll();

示例应用

请参阅使用 BEAR.Sunday (https://github.com/bearsunday/BEAR.Sunday) 框架实现的 ritalin/omelet-bear-example

目前正在开发中...