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 annotation declarations, and proxies via extensions.
Documentation | Comparison with Eloquent and Doctrine
- ORM with has-one, has-many, many-thought-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
- custom persist strategies, dirty state, safe entity map
- works with directed graphs and cyclic graphs using command chains
- designed to work in long-running applications, immutable service core
- supports MySQL, MariaDB, PostgresSQL, SQLServer, SQLite
- schema scaffolding, introspection, and migrations
- supports global query constrains, UUIDs as PK, soft deletes, auto timestamps
- disposable UoW, custom column types, FKs to non-primary columns
- use with or without annotations, proxy classes, and auto-migrations
- compatible with Doctrine Collections, Doctrine Annotations, and Zend Hydrator
| Component | Current Status |
|---|---|
| cycle/schema-builder | |
| cycle/annotated | |
| cycle/proxy-factory | |
| cycle/migrations | |
The MIT License (MIT). Please see LICENSE for more information. Maintained by Spiral Scout.




