celemas/quma 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

celemas/quma

最新稳定版本:0.1.1

Composer 安装命令:

composer require celemas/quma

包简介

A no-ORM database library for executing raw SQL files

README 文档

README

ci codecov psalm coverage psalm level Software License

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-json
  • ext-pdo
  • ext-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.sql becomes $db->users->byId()
  • sql/users/list.sql becomes $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(), stable first(), cursor-style fetch(), all(), lazy(), run(), and len()
  • optional row hydration into typed objects
  • PHP-powered SQL templates via .tpql files
  • multiple SQL directories with driver-specific overrides
  • migration commands for .sql, .tpql, and .php migrations
  • 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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固