ritalin / omelet
PHP 的 SQL 基础对象映射器
0.3.4
2015-07-08 06:11 UTC
Requires
- php: >=5.5.0
- doctrine/annotations: ~1.2
- doctrine/dbal: ~2.5
- mattketmo/camel: ~1.1
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-28 17:33:16 UTC
README
这个库受到了 Doma(https://github.com/domaframework/doma) 的启发。
要求
php >= 5.5.x
安装
Omelet 可以通过 Composer 安装。
在您的 composer.json 文件中定义以下要求
{
"require": {
"ritalin/omelet": "*"
}
}
快速入门
-
定义 Dao (数据访问对象) 接口。
- DAO 方法需要使用注释来区分数据库命令/查询。
use \Omelet\Annotation\Select; interface TodoDao { /** * @Select */ function listAll(); }
-
准备与方法同名的 sql 文件。sql 文件路径取决于 dao 接口的命名空间。
-- listAll.sql select * from todo order by id
-
实例化 \Omelet\Builder\DaoBuilderContext .
- 至少需要一个数据库连接字符串作为配置。
$config = \Omelet\Builder\Configuration; $config->connectionString = "driver=pdo_sqlite&path=/path/to/todo.sqlite3"; $context = new \Omelet\Builder\DaoBuilderContext($config);
-
生成 Dao 具体类。
$context->build(Todo::class);
-
使用 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。
目前正在开发中...