← Insights

Architektura

Od YAML do HTML: jedna ścieżka, dwa interfejsy

FlatFile CMS nie zmusza HTML i API do udawania, że są tym samym. Łączy je wcześniej — na poziomie poprawnie złożonego modelu strony.
Abstrakcyjny przepływ treści przez silnik PHP do gotowej strony

Treść pozostaje zwykłym plikiem

Punktem wyjścia jest content.yml: stabilny kontrakt, który można przeczytać bez specjalistycznego narzędzia, śledzić w Git i bezpiecznie przenosić między środowiskami. To nie format pomocniczy — to źródło prawdy.

Każdy wpis bloku przechodzi przez rejestr definicji. CMS sprawdza typ, wymagane pola, tłumaczenia, reguły długości oraz odwołania do mediów. Dopiero znormalizowane dane trafiają dalej.

Wspólny model zamiast dwóch implementacji

PageViewModelFactory składa lokalną wersję tytułu, SEO, nawigację, media oraz aktywne bloki. Na tym poziomie nie istnieje jeszcze ani odpowiedź JSON, ani dokument HTML.

Następnie model wybiera jedną z dwóch dróg:

  • PageSerializer tworzy przewidywalną odpowiedź REST API,
  • PageRenderer uruchamia renderery bloków i osadza wynik w layoucie,
  • oba adaptery otrzymują identyczne, zwalidowane dane.

Zasoby podążają za treścią

Renderer nie utrzymuje globalnego pakietu wszystkich stylów. Jeśli strona używa bloku article-hero, kolektor publikuje jego CSS pod adresem zawierającym skrót treści. Nieużywane bloki nie obciążają dokumentu.

Dzięki temu nowy komponent pozostaje lokalną zmianą: schemat YAML, PHP i opcjonalny CSS lub JavaScript.

Warto zapamiętać

Granica między modelem a adapterem pozwala rozwijać stronę i API niezależnie, bez rozjazdu danych.

Studium wizualne

Treść przepływa, ale pozostaje spójna

Wizualizacja dokumentów, silnika i interfejsu strony
Jeden model treści zasila dwa niezależne adaptery wyjściowe.