Přeskočit na obsah
W
Přihlásit

Architektura

WBengine drží průchod požadavku malý a přehledný. Objekty Application, Site, Section a Box tvoří stejný strom jako aplikační kód.

Strom objektů

  • Application je kořen požadavku a vlastní sdílené služby.
  • Site představuje nalezenou stránku, její metadata, přístupová pravidla a menu.
  • Section je pojmenovaná oblast layoutu, například header, central nebo api.
  • Box je PHP třída a metoda určená řádkem v cms_boxes.

Layout vykreslí výstup sekcí. Box může vykreslit šablonu přímo nebo nejdřív načíst model. Nové funkce zařazujte do tohoto stromu a používejte existující jmenné prostory App\Box\<Section>.

Průběh požadavku

public/index.php
  Application::run()
    nalezení Site podle URL
    kontrola přístupu a vhodnosti pro page cache
    sestavení aktivních Section
      nalezení nakonfigurovaných Box
        volání metody Box a vykreslení šablony
    vykreslení layoutu webu

Weby, sekce a boxy jsou konfigurační data. PHP třídy definují opakovaně použitelné chování. Jednoduché změny stránek tak nevyžadují úpravu routeru.

Živě na tomto požadavku

Boxy, které sestavily tuto stránku

Web /docs/architecture/ (id 11) byl nalezen v cms_sites. Tyto řádky cms_boxes k němu patří, načtené stejným dotazem, který používá framework.

SekceBoxTřída a metodaSdílený
central Docs: Architecture docs::page() ne
central Demo: structure demo::structure() ne

Sdílené boxy se zobrazují na každém webu. Sloupec order určuje pořadí uvnitř sekce.