J'essaye de créer un singleton pour gérer ma connexion avec PDO, le plus simple possible !
Le voici ->
class PDOModel {
private static $_instance = null;
private function __construct()
{
}
public static function connect()
{
if(is_null(self::$_instance))
{
include CONFIG_PATH . '/DatabaseConfig.php' ;
self::$_instance = new PDO(
'mysql:host=' . $aDbConfig['host'] . ';dbname=' . $aDbConfig['name'] ,
$aDbConfig['user'],
$aDbConfig['pass']
);
self::$_instance->exec("SET CHARACTER SET utf8");
}
return self::$_instance ;
}
public static function disconnect()
{
if(is_null(self::$_instance)) return false ;
self::$_instance = NULL ;
return true ;
}
}
J'utilise la method connect() sur deux variable différente et je récupère bien la même instance, en revanche lorsque je test ce morceau de code -> $oPDO = PDOModel::connect() ;
$oPDO2 = PDOModel::connect() ;
$aUser = $oPDO->query('SELECT * FROM bo_user LIMIT 0,1')->fetchAll(PDO::FETCH_ASSOC) ;
PDOModel::disconnect() ;
$aUser2 = $oPDO2->query('SELECT * FROM bo_user LIMIT 0,1')->fetchAll(PDO::FETCH_ASSOC) ;
var_dump($oPDO) ; var_dump($oPDO2) ; var_dump($aUser); var_dump($aUser2) ;
Je devrais normalement récupérer le contenu de la base dans $aUser et $aUser2 ne devrais rien donner puisque j'ai déconnecté PDO entre les deux requête, pourtant $aUser2 retourne bien le contenue de la base.Comment dois-je procédé pour déconnecté PDO ?