- Version: 0.1 (Draft)
- Date: 2026-05-10
- Author: TBD
- Status: Draft
- Target Version: PHP 8.7
- Implementation: TBD
- First published at: https://wiki.php.net/rfc/immutable_classes (placeholder)
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>PHP database packages — Packagist metrics comparison</title> | |
| <style> | |
| :root { | |
| --bg: #14110f; | |
| --panel: #1c1916; |
Critical difference for interoperability: Yii3 and Spiral lead with full PSR compliance. Symfony has excellent support with some bridges. Laravel has selective compliance. CodeIgniter has minimal compliance.
| PSR Standard | Symfony 7.3 | Laravel 11 | Spiral 3.15 | CodeIgniter 4.6 | Yii 3 |
|---|---|---|---|---|---|
| PSR-1: Basic Coding | ✅ Full | ✅ Full | ✅ Full | ✅ Full | ✅ Full |
| PSR-2/12: Coding Style | ✅ Full (PSR-12) | ✅ Full (PSR-12) | ✅ Full (PSR-12) | ✅ Full (PSR-12) |
Cover classes with documentation
Gist is dedicated to general changes in Cycle ORM 2.0 in relation to the first version.
It is being developed in the 2.0.x-dev branch and will be updated as updates are made.
In the composer.json set the directive minimum-stability: "dev",
then run composer require cycle/orm "2.0.x-dev" (or add by hand).
Связанная issue: cycle/orm#149 В основе проект yiisoft/demo
Выполняемая команда на добавление фикстур: yii fixture/add 200
- данные рандомные и относительно рандомного объёма (между двумя запусками могут отличаться на 50%)
- Сущности: User, Post, Comment, Tag
- Схема:
[comment] :: default.comment Entity : App\Blog\Entity\Comment
Gist посвящён общим изменениям в Cycle ORM 2.0 относительно первой версии.
Разработка ведётся в ветке 2.0.x-dev, по мере поступления обновлений гист будет дополняться.
В composer.json установить директиву minimum-stability: "dev",
затем выполнить composer require cycle/orm "2.0.x-dev".
Рекомендуется также установить "prefer-stable": true.
Теперь в Cycle ORM для описания схемы наравне с аннотациями можно использовать атрибуты.
Плавность перехода с аннотаций на атрибуты обеспечат:
- В аннотациях и атрибутах используются одни и те же классы, с теми же параметрами.
- По умолчанию аннотации можно использовать совместно с атрибутами.
- Совместимость с PHP >=7.2
Несмотря на то, что атрибуты нативно поддерживаются только с PHP 8, начинать использовать их можно уже сейчас. \
