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>
1.9 KiB
2026-04-30
Co zrobiono
-
[Phase 6, Plan 06-01] Forms infrastructure — przeniesienie warstwy Form Edit System z shopPRO do cmsPRO pod namespace
Admin\(PascalCase) -
Skopiowano 5 ViewModeli (FormEditViewModel, FormField, FormFieldType, FormTab, FormAction) do
Admin\ViewModels\Forms\ -
Skopiowano FormValidator do
Admin\Validation\ -
Dodano
"php": ">=7.4"do composer.json -
Naprawiono PSR-4 mapowanie:
Admin\→autoload/admin/,Frontend\→autoload/front/(cross-platform Linux safe) -
Smoke test runtime: walidacja e-maila zwraca PL komunikat ✓
-
Zero regresji: Domain\ + Shared\ ładują się dalej
-
[Phase 6, Plan 06-02] Support layer — TableListRequestFactory + FormRequestHandler + FormFieldRenderer (752 L) skopiowane z shopPRO
-
Decyzja: brak BaseController — Phase 7+ kontrolery jako POJOs z DI (jak shopPRO)
-
PSR-4 filename fix:
TableListRequestFactory.phpzamiast shopPROclass.TableListRequestFactory.php -
Phase 6 zamknięta — pełny fundament Admin\ namespace gotowy dla Phase 7+
Zmienione pliki
autoload/admin/ViewModels/Forms/FormEditViewModel.php(utworzony)autoload/admin/ViewModels/Forms/FormField.php(utworzony)autoload/admin/ViewModels/Forms/FormFieldType.php(utworzony)autoload/admin/ViewModels/Forms/FormTab.php(utworzony)autoload/admin/ViewModels/Forms/FormAction.php(utworzony)autoload/admin/Validation/FormValidator.php(utworzony)composer.jsonvendor/composer/autoload_*(regen).paul/STATE.md,.paul/ROADMAP.md.paul/phases/06-admin-base/06-01-PLAN.md(utworzony).paul/phases/06-admin-base/06-01-SUMMARY.md(utworzony)autoload/admin/Support/TableListRequestFactory.php(utworzony)autoload/admin/Support/Forms/FormRequestHandler.php(utworzony)autoload/admin/Support/Forms/FormFieldRenderer.php(utworzony).paul/phases/06-admin-base/06-02-PLAN.md(utworzony).paul/phases/06-admin-base/06-02-SUMMARY.md(utworzony)