Moduly
Hlavní aplikační logika dnes žije především v app/Modules/.
Ne všechny moduly mají vlastní samostatnou dokumentační stránku, ale je užitečné mít přehled, co v projektu skutečně existuje.
Struktura
Moduly jsou buď:
- samostatné
- nebo seskupené do domén se submoduly
Příklady:
app/Modules/Pageapp/Modules/Newsapp/Modules/Settingapp/Modules/Admin/Userapp/Modules/Menu/Nodeapp/Modules/Gallery/Photo
Hlavní oblasti
Administrace
Admin/AuthAdmin/GroupAdmin/PermissionAdmin/User
Řeší admin login, skupiny oprávnění, permission model a správu admin účtů.
Obsah a struktura webu
PageNewsCategoryBlockMenuRedirectionSlugSeo
To je jádro CMS části: stránky, články, bloky obsahu, menu a URL logika.
Cubes a obsahové bloky
Cube/TypeCube/ItemCube/StatsContentCube/*
Tahle vrstva řeší definici cube typů, jejich instance a runtime zpracování obsahu.
Média a galerie
MediaGallery/GalleryGallery/Photo
Řeší uploady, cropping a správu galerií.
Website auth a uživatelé
User/AuthUser/User
Obsahuje website login, passwordless flow, registraci, forgotten password a správu website uživatelů.
Lokalizace a překlady
I18nTranslation/*TranslationScanner
Řeší databázové překlady, překladové nástroje a scanner textů ze zdrojáků.
Ostatní business moduly
CookieBarNewsletterForm/ContactLogFormSettingSuperadmin
Typický tvar modulu
Typický modul obsahuje kombinaci:
- controller
- service
- list service
- DTO nebo data object
data.yamllisting.tplrouter.phpneboroutes.php
Ne každý modul má všechny části, ale tohle je dnešní standardní pattern.
Kam koukat při orientaci v modulu
router.phpneboroutes.php- controller
- service
data.yaml- template nebo listing
To typicky stačí na rychlé pochopení modulu i bez hlubšího průchodu celým codebase.