Création d'un singleton PDO

Eléphanteau du PHP | 38 Messages

29 sept. 2022, 14:49

Bonjour,
Je tente de créer un singleton PDO mais j’obtiens une erreur:
Fatal error: Uncaught Error: Call to a member function prepare() on null in /srv/web/restaurant/class/Reservation.php:11 Stack trace: #0 /srv/web/restaurant/reserver.php(85): Reservation->add_table()
voici mon code:

Code : Tout sélectionner

<?php //require_once 'config/config.php'; class Connect extends PDO { private static PDO $connect; private function __construct() { } private function __clone() { } public static function connect() { if(!isset(self::$connect) || is_null(self::$connect)){ try { self::$connect = new PDO(DATABASE,USER,PASS,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); } catch (PDOException $e){ echo 'Erreur PDO : '.$e; } }else{ return self::$connect; } } }
Merci d'avance pour votre aide.

ynx
Mammouth du PHP | 586 Messages

29 sept. 2022, 16:00

Bonjour,

Il ne faut pas oublier de retourner ton instance PDO après son instanciation, il manque un return dans ton bloc try.