hydra-sql/src/Services/PdoServices.php

53 lines
1.5 KiB
PHP

<?php
namespace App\Services;
use App\Pdo\PdoConnect;
use PDO;
use PDOException;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
class PdoServices extends AbstractController
{
private $params;
public function __construct(ParameterBagInterface $params)
{
$this->params = $params;
}
public function fetchDatas($email)
{
try {
$pdo = PdoConnect::getInstance();
$dbh = $pdo->connect($this->params->get('urlDatabase'), $this->params->get('dbUser'), $this->params->get('dbPassword'));
$query = $dbh->prepare($this->getParameter('queryFetchDatas'));
$query->execute(['email'=> $email]);
$datas = $query->fetch(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
print "Erreur !: " . $e->getMessage() . "<br/>";
die();
}
return $datas;
}
public function verifyPassword($password, $hashedPassword)
{
$hashMethod = $this->params->get('hashMethod');
switch ($hashMethod){
case "sha1":
return $hashedPassword === sha1($password, false);
break;
case "md5":
return $hashedPassword === md5($password);
break;
case "BCRYPT":
default:
return password_verify($password, $hashedPassword);
break;
}
}
}