Ajoute la gateway des commentaires et corrige les vues

This commit is contained in:
Colin FRIZOT
2022-11-30 10:33:53 +01:00
parent 45eabf2503
commit 9519287329
8 changed files with 145 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
namespace Silex\Gateway;
use DateTime;
use PDO;
use Silex\Model\Comment;
class CommentGateway
{
private PDO $pdo;
public function __construct(PDO $pdo)
{
$this->pdo = $pdo;
}
/**
* @return Comment[]
*/
public function getByNewsId(int $id): array
{
$req = $this->pdo->prepare('SELECT * FROM comment WHERE news_id = :id ORDER BY publication_date DESC');
$req->bindValue(':id', $id, PDO::PARAM_INT);
if (!$req->execute()) {
return [];
}
$comments = [];
while ($data = $req->fetch()) {
$comments[] = $this->createComment($data);
}
return $comments;
}
private function createComment(array $data): Comment
{
return new Comment(intval($data['id_comment']),intval($data['news_id']), DateTime::createFromFormat('Y-m-d H:i:s', $data['publication_date']), $data['content'], intval($data['author_id']));
}
}

View File

@@ -49,6 +49,7 @@ class NewsGateway
return $news;
}
private function createNews(array $data): News
{
return new News($data['title'], $data['content'], DateTime::createFromFormat('Y-m-d H:i:s', $data['publication_date']));