Cycle ORM
Cycle is a PHP DataMapper ORM and Data Modelling engine designed to safely work in classic and daemonized PHP
applications (like RoadRunner). The ORM provides flexible configuration options
to model datasets, a powerful query builder, and supports dynamic mapping schemas. The engine can work with plain PHP
objects, support attribute declarations, and proxies via extensions.
Documentation | Comparison with Eloquent and Doctrine
#Features
- ORM with has-one, has-many, many-through-many and polymorphic relations
- Plain Old PHP objects, AR, Custom objects
or same entity type for multiple repositories
- eager and lazy loading, query builder with multiple fetch strategies
- embedded entities, lazy/eager loaded embedded partials
- runtime configuration with/without code-generation
- column-to-field mapping, single table inheritance, value objects support
- hackable: persist strategies, mappers, relations, transactions
- works with directed graphs and cyclic graphs using command chains
- designed to work in long-running applications: immutable service core, disposable UoW
- supports MySQL, MariaDB, PostgresSQL, SQLServer, SQLite
- schema scaffolding, introspection, migrations and debugging
- supports global query scopes, UUIDs as PK, soft deletes and auto timestamps
- custom column types, FKs to non-primary columns
- use with or without attributes, proxy classes, and auto-migrations
- compatible with Doctrine Collections, Illuminate Collections and custom collections
- compatible with Doctrine Annotations, PHP8 attributes
#Extensions
Component |
Current Status |
cycle/schema-builder |
|
cycle/schema-renderer |
|
cycle/annotated |
|
cycle/migrations |
|
cycle/entity-behavior |
|
cycle/entity-behavior-uuid |
|
cycle/database |
|
cycle/schema-migrations-generator |
|
cycle/orm-promise-mapper |
|
#License
The MIT License (MIT). Please see LICENSE
for more information. Maintained
by Spiral Scout.