Come funziona il routing PHP senza database

Come funziona il routing PHP senza database

Un CMS moderno non ha bisogno di un database. Con PHP puro e un file index.php ben strutturato è possibile costruire un sistema di routing completo che legge i contenuti direttamente dal filesystem.

Il router in tre righe

Il principio è semplice: ogni richiesta arriva a index.php, lo slug viene estratto dalla querystring, il parser cerca il file corrispondente in content/.

$slug = preg_replace('/[^a-z0-9\-\/]/', '', $_GET['page'] ?? 'home');
$file = CONTENT_PATH . '/' . $slug . '.html';
if (!file_exists($file)) { http_response_code(404); }

Vantaggi rispetto a WordPress

  • Zero dipendenze esterne
  • Nessun database da configurare
  • Deploy = copia file
  • Performance: <10ms per risposta

Il sistema è scalabile: aggiungere una categoria al blog significa creare una cartella. Aggiungere una lingua significa copiare la cartella /it/ e tradurre lang.json.