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.

Phlo CMS admin-dashboard

1.1: Wat het genereert

Uit een handvol modellen, elk met een schema, produceert de CMS:

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.

1.4: Generate a starting model

Picking a database, a table name and a list of fields by hand is most of a schema. The CMS builder turns that choice into a ready model file: pick an engine, name the table, add fields (parent/child/many carry the relation to another model), and it also flags the files/images/thumbs paths a file or image field needs in www/app.php. Treat the result as a starting point, not a final schema.

We gebruiken essentiële cookies om deze site te laten werken. Met uw toestemming gebruiken we ook analytics om de site te verbeteren.