Phase 6 zamknięta po 2 planach. Pełny fundament dla Phase 7-13 (migracja 17 admin controllers do Admin\ namespace). 06-01 (Forms infrastructure): - Admin\ViewModels\Forms\* — 5 ViewModeli (687 L) - Admin\Validation\FormValidator (196 L) - composer.json: php >=7.4, PSR-4 paths cross-platform safe (Admin\ → autoload/admin/, Frontend\ → autoload/front/) 06-02 (Support layer): - Admin\Support\TableListRequestFactory (99 L) — parser list z $_GET - Admin\Support\Forms\FormRequestHandler (159 L) — POST + CSRF + walidacja + persist - Admin\Support\Forms\FormFieldRenderer (494 L) — renderer HTML pól Decyzje: - Brak BaseController — Phase 7+ kontrolery jako POJOs z DI (jak shopPRO) - PSR-4 filename fix: TableListRequestFactory.php (bez shopPRO 'class.' prefix) - PascalCase namespace (Admin\Support) na lowercase folder admin/ ze względu na Windows fs case-insensitivity vs legacy admin/controls/ Pliki: 8 nowych klas, 1635 L kodu PHP 7.4-kompatybilnego, zero regresji. Smoke test: walidacja e-maila zwraca PL komunikat, factory parsuje ?page=&per_page=&sort=&filter=, Domain/Shared nadal ładują się. PHPUnit: 37/37 OK. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Project: cmsPRO
Description
Autorski system CMS z panelem administracyjnym (17 modułów admin, 13 modułów front). Projekt przechodzi pełną refaktoryzację kodu w 19 fazach — wzorcem docelowej architektury jest shopPRO. Wzorzec migracji: wrapper delegation (stare klasy delegują do nowych, zero regresji).
Core Value
Autorski system CMS umożliwiający zarządzanie treściami i stronami internetowymi.
Already Completed
- Domain (13 repos): Articles, Languages, Layouts, Pages, Settings, User, Scontainers, Banners, Authors, Newsletter, SeoAdditional, Cron, Releases+Update
- Shared (7 modules): Cache, Helpers, Html, Image, Tpl, Email, Security
- Admin\ base infrastructure (Phase 6, 2026-04-30): 5 Form ViewModels + FormValidator + TableListRequestFactory + FormRequestHandler + FormFieldRenderer (1635 L total) — pełny fundament dla migracji 17 admin controllers w Phase 7-13
- PHPUnit base: Bootstrap, 3 test files
- Wrapper delegation pattern: legacy factories delegate to Domain repositories
Requirements
Must Have
- Centralny PSR-4 autoloader (hybrydowy z legacy)
- ✓ Wszystkie Domain repositories — Phase 5 complete
- ✓ Shared\Email + Shared\Security CsrfToken — Phase 2 complete (HMAC-SHA256 → Phase 17)
- ✓ Admin\ base infrastructure — Phase 6 complete (controllers Phase 7-13)
- Admin\ namespace z DI dla wszystkich 17 modułów
- Frontend\ namespace dla wszystkich front modułów
- Bezpieczne cookies (HMAC-SHA256 zamiast hash w JSON)
Should Have
- PHPUnit testy dla nowych repositories i controllers
- Legacy cleanup (usunięcie wrapperów po pełnej migracji)
Nice to Have
- Admin base classes (TableListRequestFactory, FormValidator — wzór shopPRO)
Constraints
- PHP < 8.0 (produkcja) — brak match, named args, union types, str_contains()
- Referencja architektury: shopPRO (C:\visual studio code\projekty\shopPRO)
- Zachowanie 100% kompatybilności wstecznej podczas migracji (wrapper delegation)
- Medoo ORM (nie zmieniać)
- Zewnętrzne biblioteki (Mobile_Detect, geoplugin) — nie ruszać
Success Criteria
- 19 faz refaktoryzacji zakończonych
- Cały kod w namespace'ach Domain, Shared, Admin, Frontend\
- Zero regresji — istniejąca funkcjonalność działa bez zmian
- Bezpieczne cookies (HMAC-SHA256)
- Testy PHPUnit dla kluczowych modułów
Created: 2026-04-04 Last updated: 2026-04-30 after Phase 6