Files
silex/src/Silex/Gateway/UserGateway.php

37 lines
876 B
PHP

<?php
declare(strict_types=1);
namespace Silex\Gateway;
use PDO;
use Silex\Model\User;
class UserGateway
{
private PDO $pdo;
public function __construct(PDO $pdo)
{
$this->pdo = $pdo;
}
public function getById(int $id): ?User
{
$req = $this->pdo->prepare('SELECT * FROM registered_user WHERE id_user = :id');
$req->execute(['id' => $id]);
$req->setFetchMode(PDO::FETCH_CLASS, User::class);
$user = $req->fetch();
return $user === false ? null : $user;
}
public function getByLogin(string $login): ?User
{
$req = $this->pdo->prepare('SELECT * FROM registered_user WHERE login = :login;');
$req->execute(['login' => $login]);
$req->setFetchMode(PDO::FETCH_CLASS, User::class);
$user = $req->fetch();
return $user === false ? null : $user;
}
}