Files
cmsPRO/.paul/PROJECT.md
Jacek Pyziak a3caeb9a9a feat(06-admin-base): Admin\ base infrastructure — Form Edit System + Support layer (Phase 6)
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>
2026-04-30 23:32:26 +02:00

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