1: CMS overzicht
De Phlo CMS verandert een model schema in een complete beheerdersinterface. Je declareert hoe je data eruitziet; de CMS genereert de navigatie, lijstweergaven, recordweergaven, aanmaak- en bewerkingsformulieren, een REST API en CSRF-bescherming. Er is geen handmatig gebouwde admin HTML.

1.1: Wat het genereert
Uit een handvol modellen, elk met een schema, produceert de CMS:
- een sidebar opgebouwd uit je menu,
- een list view per model (met tellingen, kindlinks en paginering),
- een record view per rij, met zijn relaties,
- create en edit formulieren met de juiste invoer per veld,
- een write API (
POST/PUT/PATCH/DELETE) voor elk model; reads zijn de weergegeven lijst- en recordpagina's, - dashboard widgets (balk, meter, lijn, lijst, taart) per model, zodat de CMS-home een live overzicht is,
- Insights: stel je datavragen in gewone taal, getypt of gesproken, via de AI-provider die je configureert,
- CSRF-beschermde schrijfbewerkingen.
1.2: Hoe een app zichzelf declareert
Een app monteert de CMS met twee declaraties: welke modellen bestaan en hoe ze verschijnen in de zijbalk.
prop models => array_values(array_filter(['article', 'author', 'category'], fn($m) => phlo_exists($m)))
prop menu => [
'article' => ['icon' => '📝', 'uri' => 'articles', 'title' => 'Articles'],
'author' => ['icon' => '✍️', 'uri' => 'authors', 'title' => 'Authors'],
'category' => ['icon' => '🗂️', 'uri' => 'categories', 'title' => 'Categories'],
]
Het CMS-framework wordt geladen als een resource pad; je modellen bevinden zich in modules/. De rest van deze mini-handleiding behandelt schema's, relaties, de admin en uploads, en eindigt met een live blog demo.
1.3: De demo
De phlo-demo-cms repository is een blog op SQLite: vijf modellen, elk type relatie, afbeeldingsuploads en een Faker seeder, een complete app die je in één commando kunt kopiëren en opnieuw seeden.