<?php
namespace App\Controller;
use App\Entity\BlogPost;
use App\Repository\BlogPostRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class BlogController extends AbstractController
{
#[Route('/blog', name: 'app_blog_index')]
public function index(BlogPostRepository $blogPostRepository): Response
{
$posts = $blogPostRepository->findBy([], ['createdAt' => 'DESC']);
return $this->render('blog/index.html.twig', [
'posts' => $posts,
]);
}
#[Route('/blog/{slug}', name: 'app_blog_show')]
public function show(string $slug, BlogPostRepository $blogPostRepository): Response
{
$post = $blogPostRepository->findOneBy(['slug' => $slug]);
if (!$post) {
throw $this->createNotFoundException('The blog post does not exist');
}
return $this->render('blog/show.html.twig', [
'post' => $post,
]);
}
}