← ClaudeAtlas

mir-backend-php-symfonylisted

Make It Right (Symfony module). Symfony 8.1 / 7.4 LTS + Doctrine ORM 3 + PostgreSQL/MySQL + Messenger + API Platform — mechanical reliability augmentation. Use alongside mir-backend and mir-backend-php when the target stack is Symfony; it carries the footguns the framework-agnostic tiers deliberately omit: Doctrine N+1 via lazy proxies, Unit of Work memory exhaustion in batch loops, the EntityManager closing after a failed flush, service-container singletons and ResetInterface under worker runtimes, Serializer normalization AND denormalization groups, Messenger with #[AsMessageHandler] and idempotent handlers, request-to-DTO mapping with #[MapRequestPayload]/#[MapQueryString]/#[MapUploadedFile], and the removal of Request::get() in Symfony 8. TRIGGER only when the PHP backend stack is Symfony — building, reviewing, or debugging a Symfony controller, Doctrine entity/repository, Messenger handler, Voter, migration, or DI service. Always loads TOGETHER WITH mir-backend (the gates) and mir-backend-php (Zend Engin
anantbhandarkar/make-it-right · ★ 15 · API & Backend · score 81
Install: claude install-skill anantbhandarkar/make-it-right
# /mir-backend-php-symfony · Make It Right (Symfony) Bottom tier of the chain: `mir-backend` (generic gates) → `mir-backend-php` (Zend Engine runtime model) → **this** (Symfony/Doctrine library mechanics). Run the gates first; load the PHP runtime tier for the lifecycle/process model; reach for *this* at Gate 5 (design mechanics), Gate 6 (implementation), and Gate 7 review. **Runtime-level concerns (shared-nothing lifecycle, FPM sizing, worker-runtime state bleed and superglobal resets, opcache/JIT, php.ini hardening, `unserialize`, Composer supply chain) live in `mir-backend-php` — not here.** **Versions, verified 13 August 2026:** | Branch | Status | PHP min | Bug fixes until | Security until | |---|---|---|---|---| | 8.1 | current stable (8.1.4, May 2026) | 8.4 | Jan 2027 | Jan 2027 | | 8.0 | **unmaintained since July 2026** (last 8.0.16) | 8.4 | ended | ended | | 7.4 | **LTS** (7.4.16, Nov 2025) | 8.2 | Nov 2028 | Nov 2029 | | 6.4 | LTS, in maintenance | 8.1 | Nov 2026 | Nov 2027 | | 5.4 | security fixes only | 7.2 | ended | Feb 2029 | 7.4 and 8.0 shipped together in November 2025 with the same feature set — 8.0 is 7.4 minus the deprecated code, which is why an 8.0 project moves to 8.1 (not to 7.4) to get back on a maintained branch. 8.2 lands November 2026; the next LTS is 8.4 in November 2027. **Doctrine, verified 13 August 2026:** ORM 3.6.8 (5 Aug 2026) with DBAL 4. ORM 2.x is in limited maintenance since March 2026 — only PHP-compatibility changes are merged. **O