Stavějte stránky z
databázových řádků, ne ze šablonového balastu.
WBengine skládá každou stránku z webů, sekcí a boxů uložených v MySQL. Rychlé nativní šablony, automatické escapování, API s integračními klíči s omezeným oprávněním, dvouúrovňová cache a skutečná internacionalizace v frameworku, který přečtete za odpoledne.
- PHP
- 8.3 – 8.5
- Bez cache
- 7 ms
- Stránka z cache
- 2 ms
- Licence
- MIT
Medián doby, za kterou jádro sestaví úvodní stránku této kostry, s vypnutými cache i z cache celé stránky, změřený v izolovaném lokálním prostředí. Není to test rychlosti webu. Postup a výsledky
class Hello extends WbengineBoxAbstract
{
public function Hello()
{
// a row in cms_boxes points here
return $this->getRenderer()->render(
$this->getBoxTemplatePath(),
['name' => 'World']
);
}
}
Funkce
Vše, co obsahový web potřebuje, a nic navíc
Každá karta otevře stránku této aplikace, která funkci vysvětluje a pod textem ji předvádí na právě zobrazeném požadavku.
Weby, sekce, boxy
URL vybere web, web načte sekce, každá sekce spustí své boxy. Celá stránka jsou data.
Boxy
Statické nebo dynamické jednotky obsahu: třída, metoda a šablona. Stránku přidáte bez zásahu do frameworku.
Nativní šablony
Vlastní template engine kompilovaný do PHP, s automatickým escapováním HTML a cache fragmentů.
Jazyky
Detekce z URL, cookie i hlavičky, pravidla množných čísel, formáty čísel a dat a překládaný obsah databáze.
Cache
Datová cache a cache celých stránek pro anonymní návštěvníky: stránka z cache nestojí žádný dotaz.
Zabezpečení
Vázané parametry, hashovaná hesla, role, integrační klíče s omezeným oprávněním a omezení pokusů o přihlášení.
API v2
API v2 s integračními klíči s omezeným oprávněním pro obsah, strukturu, uživatele, překlady a cache a se záznamem změn.
Centrální administrace
Samostatná privátní aplikace SvelteKit může spravovat obsah více webů přes omezené HTTPS API.
Články
Dodávaný box článku s vestavěným Markdownem, výslovným formátem databáze a překlady.
Průběh požadavku
Od URL ke stránce ve čtyřech krocích
Stejné čtyři kroky proběhnou při každém požadavku. Na stránce Architektura je uvidíte se skutečnými dotazy.
- 1
Najít web
URL se vyhledá v cms_sites. Bez řádku je to 404. Jazykový prefix se přečte jako první a odstraní.
- 2
Načíst sekce
Každá aktivní sekce se zeptá cms_boxes, které boxy patří k tomuto webu, a v jakém pořadí.
- 3
Spustit boxy
Box je PHP metoda, která vrací HTML, obvykle z modelu a šablony.
- 4
Vykreslit layout
HTML sekcí skončí v site.tpl. Anonymní stránky může cache stránek uložit celé.
Spusťte to za dvě minuty
Kostra obsahuje nastavení Dockeru, ukázkovou databázi a účet administrátora.
git clone https://github.com/rrsoftcz/wbengine-skeleton-app
docker compose up -d --build