Files
pta/app/bootstrap.php
2026-08-20 13:22:49 +02:00

27 lines
807 B
PHP

<?php
declare(strict_types=1);
/**
* Amorçage commun à TOUS les points d'entrée (pages comme API).
*
* Ouvre la session, établit la connexion PDO et vérifie que le schéma en base
* porte bien les tables et vues attendues par cette version du code. Ce contrôle
* est refait à chaque requête : c'est ce qui garantit qu'une migration oubliée
* se manifeste par un message explicite plutôt que par une erreur SQL au milieu
* d'un écran. Ajouter une table ou une colonne obligatoire impose donc de
* compléter les listes de SchemaModel.
*
* @return PDO Connexion partagée par les contrôleurs et les modèles.
*/
use App\Core\Session;
use App\Models\SchemaModel;
Session::start();
$pdo = require dirname(__DIR__) . '/db.php';
(new SchemaModel($pdo))->assertCurrent();
return $pdo;