Retour au classement

cycle/orm

PHPcycle-orm.dev

PHP DataMapper, ORM

phpormcycledatamapperquery-buildermapperhacktoberfest
Croissance des étoiles
Étoiles
1.3k
Forks
83
Croissance hebdomadaire
Issues
82
5001k
avr. 2019sept. 2021févr. 2024juil. 2026
ArtefactsPackagistcomposer require cycle/orm
README

Cycle ORM

Latest Stable Version Scrutinizer Code Quality Codecov Discord Meta Storm Plugin

Cycle ORM

Cycle is 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, powerful query builder and supports dynamic mapping schema. The engine can work with plain PHP objects, support annotation declarations, and proxies via extensions.

Website and 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, auto timestamps and macros
  • custom column types, FKs to non-primary columns
  • use with or without annotations, 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/active-record License PHP Stable Release Total Downloads
cycle/schema-builder License PHP Stable Release Total Downloads
cycle/schema-renderer License PHP Stable Release Total Downloads
cycle/schema-provider License PHP Stable Release Total Downloads
cycle/annotated License PHP Stable Release Total Downloads
cycle/migrations License PHP Stable Release Total Downloads
cycle/entity-behavior License PHP Stable Release Total Downloads
cycle/entity-behavior-uuid License PHP Stable Release Total Downloads
cycle/database License PHP Stable Release Total Downloads
cycle/schema-migrations-generator License PHP Stable Release Total Downloads
cycle/orm-promise-mapper License PHP Stable Release Total Downloads

Example:

// load all active users and pre-load their paid orders sorted from newest to olders
// the pre-load will be complete using LEFT JOIN
$users = $orm->getRepository(User::class)
    ->select()
    ->where('active', true)
    ->load('orders', [
        'method' => Select::SINGLE_QUERY,
        'load'   => function($q) {
            $q->where('paid', true)->orderBy('timeCreated', 'DESC');
        }
    ])
    ->fetchAll();

$em = new EntityManager($orm);

foreach($users as $user) {
    $em->persist($user);
}

$em->run();

License:

Cycle ORM is open-sourced software licensed under the MIT license. Maintained by Spiral Scout.

Dépôts similaires
laravel/laravel

Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.

Bladephpframework
laravel.com
84.6k24.8k
coollabsio/coolify

An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy static sites, databases, full-stack applications and 280+ one-click services on your own servers.

PHPPackagistApache License 2.0nodejsmysql
coolify.io
59.2k5.1k
LeCoupa/awesome-cheatsheets

👩‍💻👨‍💻 Awesome cheatsheets for popular programming languages, frameworks and development tools. They include everything you should know in one single file.

JavaScriptnpmMIT Licensecheatsheetsjavascript
lecoupa.github.io/awesome-cheatsheets/
46.2k6.7k
nextcloud/server

☁️ Nextcloud server, a safe home for all your data

PHPPackagistGNU Affero General Public License v3.0open-sourcefile-sharing
nextcloud.com
36.2k5.1k
laravel/framework

Laravel is a web application framework with expressive, elegant syntax.

PHPPackagistMIT Licensephpframework
laravel.com
34.8k11.9k
ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Do What The F*ck You Want To Public Licensephpphp-framework
32.6k5.1k
symfony/symfony

The Symfony PHP framework

PHPPackagistMIT Licenseframeworkphp
symfony.com
31.1k9.8k
composer/composer

Dependency Manager for PHP

PHPPackagistMIT Licensephpcomposer
getcomposer.org
29.5k4.8k
bagisto/bagisto

Free and open source laravel eCommerce platform

PHPPackagistMIT Licenseecommerce-frameworklaravel
bagisto.com
27.8k3.2k
monicahq/monica

Personal CRM. Remember everything about your friends, family and business relationships.

PHPPackagistGNU Affero General Public License v3.0laravelcrm
beta.monicahq.com
24.9k2.6k
firefly-iii/firefly-iii

Firefly III: a personal finances manager

PHPPackagistGNU Affero General Public License v3.0phpmoney
firefly-iii.org
24.1k2.2k
guzzle/guzzle

Guzzle, an extensible PHP HTTP client

PHPPackagistMIT Licenseguzzlepsr-7
23.5k2.4k