saygoweb/anorm

Another ORM for PHP

Installs: 489

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/saygoweb/anorm

v3.0.2 2025-11-13 18:56 UTC

README

CI Code Quality Coverage Status MIT Licence

Yes, yet another ORM for PHP. This meets my needs for an ORM with the following characteristics:

  • Works well with legacy databases.
  • Provides (requires) a Model class which helps coding in IDEs.
  • Creates and modifies the underlying database schema as required to match the Model.

Features

  • Provides a tool 'anorm' for quickly generating models from existing tables.
  • Maps between camelCase property names and under_score field names common in database schema.
  • Makes CRUD operations extremely simple.
  • Doesn't get in the way of complex queries.

Documentation

Documentation is available on the docs site.

Development

Quick Start

# Install dependencies
composer install

# Run tests
composer test

# Run tests with coverage
composer test:coverage

# Check code quality
composer quality

Requirements

  • PHP 7.4+ (tested on 7.4, 8.0, 8.1, 8.2, 8.3)
  • MySQL/MariaDB
  • Composer

Available Commands

  • composer test - Run full test suite
  • composer test:quick - Run tests without coverage
  • composer test:coverage - Run tests with HTML coverage report
  • composer test:ci - Run tests with clover coverage for CI
  • composer cs:check - Check code style (PSR-12)
  • composer cs:fix - Fix code style issues
  • composer analyze - Run static analysis (PHPStan)
  • composer quality - Run all quality checks
  • composer ci - Run full CI suite (tests + quality)

See DEVELOPERS.md for detailed development instructions.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run composer ci to ensure all tests pass and code quality is maintained
  5. Submit a pull request

All pull requests are automatically tested on multiple PHP versions with comprehensive code quality checks.