A lightweight ORM library for PHP with support for multiple databases

Maintainers

Package info

github.com/nomoregeek/ormy

pkg:composer/nomoregeek/ormy

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-06-24 11:25 UTC

This package is auto-updated.

Last update: 2026-06-24 12:27:25 UTC


README

PHP Version License

ORMY – это лёгкая, расширяемая ORM‑библиотека для PHP 7.4+, для работы в среде ОС Linux.
Поддерживает 6 популярных СУБД - MySQL, MariaDB, PostgreSQL, SQLite, Oracle, SQL Server.
Позволяет работать с базами данных через объектно‑ориентированный API, безопасные подготовленные запросы, миграции схем и управление транзакциями с точками сохранения (savepoints).

Особенности

  • Безопасность – все запросы строятся через подготовленные выражения (PDO).
  • 6 СУБД – MySQL, MariaDB, PostgreSQL, SQLite, Oracle, SQL Server – единый интерфейс.
  • Query Builder – цепочечный конструктор запросов с поддержкой JOIN, WHERE, ORDER BY, LIMIT.
  • Менеджер сущностей – автоматическая вставка/обновление объектов через рефлексию.
  • Миграции – создание, применение и откат миграций с отслеживанием версий.
  • Транзакции с savepoints – поддержка вложенных транзакций для любой СУБД.
  • Независимость от фреймворков – работает в любом проекте через Composer.

Требования

  • PHP >= 7.4
  • Установленные PDO‑драйверы для нужных СУБД (например, pdo_mysql, pdo_pgsql, pdo_sqlite, pdo_oci, pdo_sqlsrv)

Установка

composer require nomoregeek/ormy

Документация

Быстрый старт

use ORMY\App\Ormy;

// Подключение к SQLite
$ormy = new Ormy(
    'sqlite:/path/to/database.db',   // dsn
    __DIR__ . '/migrations',         // migrationDirectory
    null,                            // migrationNamespace
    null,                            // user
    null                             // pass
);

// Создание таблицы через миграцию
$ormy->getMigrator()->migrateUp();

// Сущность
class users {
    public ?int $id = null;
    public string $name = '';
    public string $email = '';
}

$user = new users();
$user->name = 'John';
$user->email = 'john@example.com';

// Сохранение
$ormy->getManager()->send($user);

// Выборка
$rows = $ormy->getConnector()
    ->getQueryBuilder()
    ->select('users', ['name', 'email'])
    ->query();

print_r($rows);

Лицензия

MIT