celemas/quma
最新稳定版本:0.1.1
Composer 安装命令:
composer require celemas/quma
包简介
A no-ORM database library for executing raw SQL files
关键字:
README 文档
README
Quma is a no-ORM database library for PHP. You store SQL in files, group those files in folders, and execute them through a small PDO-backed API. Quma also ships with template queries and a migration runner.
Requirements
Quma currently requires:
- PHP 8.5 or newer
ext-jsonext-pdoext-readline
Install
composer require celemas/quma
Quickstart
Create a SQL directory structure like this:
sql/
users/
byId.sql
list.sql
Add a query file:
SELECT id, email FROM users WHERE id = ?;
Then configure Quma and run the query:
<?php declare(strict_types=1); use Celemas\Quma\Connection; use Celemas\Quma\Database; $conn = new Connection( 'sqlite:' . __DIR__ . '/app.sqlite', __DIR__ . '/sql', )->migrations(__DIR__ . '/migrations'); $db = new Database($conn); $user = $db->users->byId(1)->one(); $users = $db->users->list()->all();
Quma maps directories to properties and files to methods:
sql/users/byId.sqlbecomes$db->users->byId()sql/users/list.sqlbecomes$db->users->list()
What Quma provides
- SQL-file based queries with positional or named parameters
- static
[::name::]placeholders for trusted driver-aware configuration fragments - PDO-backed execution with exact
one(), stablefirst(), cursor-stylefetch(),all(),lazy(),run(), andlen() - optional row hydration into typed objects
- PHP-powered SQL templates via
.tpqlfiles - multiple SQL directories with driver-specific overrides
- migration commands for
.sql,.tpql, and.phpmigrations - environment-controlled debug output for translated and interpolated SQL
Documentation
Start with the docs in docs/index.md.
Recommended pages:
Testing
Quma runs against SQLite by default and can also run against MySQL and PostgreSQL when you provide test databases.
composer test
composer test:sqlite
composer test:mysql
composer test:pgsql
composer test:all
For database setup and environment variables, see docs/testing.md.
License
This project is licensed under the MIT license.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-12