Skip to content

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/Page
  • app/Modules/News
  • app/Modules/Setting
  • app/Modules/Admin/User
  • app/Modules/Menu/Node
  • app/Modules/Gallery/Photo

Hlavní oblasti

Administrace

  • Admin/Auth
  • Admin/Group
  • Admin/Permission
  • Admin/User

Řeší admin login, skupiny oprávnění, permission model a správu admin účtů.

Obsah a struktura webu

  • Page
  • News
  • Category
  • Block
  • Menu
  • Redirection
  • Slug
  • Seo

To je jádro CMS části: stránky, články, bloky obsahu, menu a URL logika.

Cubes a obsahové bloky

  • Cube/Type
  • Cube/Item
  • Cube/Stats
  • ContentCube/*

Tahle vrstva řeší definici cube typů, jejich instance a runtime zpracování obsahu.

Média a galerie

  • Media
  • Gallery/Gallery
  • Gallery/Photo

Řeší uploady, cropping a správu galerií.

Website auth a uživatelé

  • User/Auth
  • User/User

Obsahuje website login, passwordless flow, registraci, forgotten password a správu website uživatelů.

Lokalizace a překlady

  • I18n
  • Translation/*
  • TranslationScanner

Řeší databázové překlady, překladové nástroje a scanner textů ze zdrojáků.

Ostatní business moduly

  • CookieBar
  • Newsletter
  • Form/Contact
  • LogForm
  • Setting
  • Superadmin

Typický tvar modulu

Typický modul obsahuje kombinaci:

  • controller
  • service
  • list service
  • DTO nebo data object
  • data.yaml
  • listing.tpl
  • router.php nebo routes.php

Ne každý modul má všechny části, ale tohle je dnešní standardní pattern.

Kam koukat při orientaci v modulu

  1. router.php nebo routes.php
  2. controller
  3. service
  4. data.yaml
  5. template nebo listing

To typicky stačí na rychlé pochopení modulu i bez hlubšího průchodu celým codebase.