config); } /** * Acces aux donnees via l'interface. Centralise le seam pour que toutes les * dependances DB (garde, autorisation, repositories, transactions, audit) * passent par un point unique surchargeable en test. */ protected function db(): DatabaseInterface { return $this->database; } protected function sessionGuard(): SessionGuard { return new SessionGuard($this->sessionManager(), $this->db(), $this->config); } protected function authorizer(): Authorizer { return new Authorizer($this->db()); } }