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>
51 lines
2.4 KiB
Markdown
51 lines
2.4 KiB
Markdown
# 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*
|