Separator URL miedzy parami attr-val zmieniony z "/" na "_" w generatorze feedu (ProductRepository::appendCombinationToXml). Wzorzec routingu pp_routes rozszerzony do [0-9_-]+ w Helpers::htacces (oba warianty: seo_link i fallback p-id-name). LayoutEngine konwertuje "_" -> "|" przed wywolaniem ProductRepository::findCached — format DB pozostaje "|". Partial product-attribute.php preselectuje wartosc z permutation_hash URL (forced_value_id), co poprawia UX wejscia z linka feedu. Suita: 834 -> 841 testow (+7), 2330 assertions. Wymagane akcje na produkcji po deployu: regeneracja pp_routes (Helpers::htacces), wyczyszczenie klucza pp_routes:all w Redis, regeneracja google-feed.xml, resubmit feedu w GMC. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codebase Map — shopPRO
Generated: 2026-03-12
Documents
| File | Contents |
|---|---|
| overview.md | Project summary, size metrics, quick reference |
| stack.md | Technology stack, libraries, external integrations |
| architecture.md | Directory structure, routing, DI, domain modules, request lifecycle |
| conventions.md | Naming, Medoo patterns, cache patterns, security patterns |
| testing.md | PHPUnit setup, test patterns, mocking, coverage |
| concerns.md | Security issues, technical debt, dead code, known bugs |
| dependencies.md | Composer, vendored libs, PHP extensions |
Quick Facts
- PHP 7.4 – <8.0 — no match, union types, str_contains etc.
- 810 tests / 2264 assertions
- 29 Domain modules, all with tests
- Medoo pitfall:
delete()takes 2 args, not 3 - Top concerns: tpay.txt logging, path traversal in unlink, hardcoded payment seed
- Largest files:
ProductRepository.php(3583 lines),IntegrationsRepository.php(875 lines)