Rename Database repository to Pdo repository

This commit is contained in:
antonkomarev
2020-07-18 20:32:41 +03:00
parent f05e2394be
commit 2961dcf3e7
3 changed files with 4 additions and 4 deletions

View File

@@ -0,0 +1,55 @@
<?php
/*
* This file is part of GitHub Profile Views Counter.
*
* (c) Anton Komarev <anton@komarev.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Komarev\GitHubProfileViewsCounter;
use Contracts\Komarev\GitHubProfileViewsCounter\CounterRepositoryInterface;
use PDO;
final class CounterPdoRepository implements
CounterRepositoryInterface
{
private PDO $connection;
private string $tableName;
public function __construct(PDO $connection, string $tableName = null)
{
$this->connection = $connection;
$this->tableName = $tableName !== null ? $tableName : 'github_profile_views';
}
public function getViewsCountByUsername(Username $username): int
{
$statement = $this->connection->prepare(
'SELECT COUNT(*)
FROM ' . $this->tableName . '
WHERE username = :username;'
);
$statement->bindParam('username', $username);
$statement->execute();
return (int) $statement->fetchColumn(0);
}
public function addViewByUsername(Username $username): void
{
$statement = $this->connection->prepare(
'INSERT INTO ' . $this->tableName . '
(username, created_at)
VALUES (:username, NOW());'
);
$statement->bindParam('username', $username);
$statement->execute();
}
}