Bonjour à tous ,
Je tente de m'inspirer du tutoriel Poo concernant l'injection de dépendance.
J'essaye d'appeler ma classe Database dans mon constructeur afin de la réutiliser dans ma classe LoginDB (qui me sert pour l'authentification à mon espace d'administration).
namespace App\DB;
class LoginDB{
private $db;
public function __construct(Database $db){
$this->db = $db;
}
et voici ma classe MysqlDB
class MysqlDB extends Database{
protected $db_name;
protected $db_host;
protected $db_user;
protected $db_pass;
protected $db;
public function __construct($db_name , $db_host='localhost', $db_user ='root', $db_pass= 'xof10'){
$this->db_name = $db_name;
$this->db_host = $db_host;
$this->db_user = $db_user;
$this->db_pass = $db_pass;
}
public function getPDO(){
if ($this->db === null){
$this->db = new PDO("mysql:host=localhost;dbname=tpsite" , "root" , "xof10");
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $this->db;
}
return $this->db;
}
Cependant quand j'appel l'instance pour mon authentification et que je var dump cette dernière , mes 5 paramètres sont "null" :
if (!empty($_POST))
{
$log = new App\DB\LoginDB(App\App::getInstance()->getDB());
var_dump($log);
if($log->login($_POST['account'] , $_POST['password'])){
header('Location: admin_home.php');
}else{
}
}
Quelqu'un aurait une idée? Merci