rebelcode / atlas
一个轻量级的 SQL 生成库。
0.2-alpha1
2023-07-26 13:01 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^8.0 | ^9.0
- vimeo/psalm: ^4.0
This package is auto-updated.
Last update: 2024-09-17 10:39:01 UTC
README
一个无需数据库连接的轻量级 SQL 构建库。
关于
Atlas 的主要目标是替换代码库中的 SQL 字符串,用不可变的对象来替换,这些对象可以在应用程序的不同部分安全共享。Atlas 不是 一个 ORM!但可以通过实现一个薄数据库适配器接口来执行查询。
Atlas 的设计理念很简单:尽可能接近地映射 SQL 语法。这意味着如果您的 SQL 查询无效,库将尽可能不抛出任何异常或错误。编写有效查询的责任在于您,就像使用 SQL 字符串一样。错误报告是您数据库的任务。
这使 Atlas 的运行时占用最小化,让您可以专注于编写简洁、易读的查询。
安装
使用 Composer 安装
composer require rebelcode/atlas
快速入门
创建一个 Atlas
实例。
use RebelCode\Atlas\Atlas; $atlas = new Atlas();
使用 table()
方法获取表
$users = $atlas->table('users');
从表创建查询
$query = $users->select(/* ... */); $query = $users->insert(/* ... */); $query = $users->update(/* ... */); $query = $users->delete(/* ... */); $query = $users->create(/* ... */); $query = $users->drop(/* ... */);
如果需要,修改查询
use function RebelCode\Atlas\asc; $query = $query->where($users->role->eq('admin')) ->orderBy(asc($users->name)) ->limit(20) ->offset(10);
将查询渲染为 SQL 或执行它
$sql = $query->render(); $result = $query->exec();
最后,阅读文档!查看 文档 以了解您可以用 Atlas 做些什么。
为什么叫 "Atlas"?
Atlas 是希腊神话中那个用肩膀支撑着天空的神。
最初,我们讽刺性地选择了这个名字。这个包旨在轻量级,但不知道在什么阈值下包成为“轻”或“重”。我们认为天顶对于神来说一定很重。所以我们用了“Atlas”这个名字。
我们决定正式保留这个名称,因为它很适合。想想在代码中 SQL 字符串有多不方便,数据库对我们应用的重要性有多大。所以,您可以把 Atlas(这个包)想象成承担着携带我们数据库的重担,就像 Atlas(神)支撑着天空不让它掉落到地上一样,让 SQL 字符串远离我们的代码。
许可
GPL-3.0 © RebelCode
阅读完整许可这里。