src/Controller/BlogController.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\BlogPost;
  4. use App\Repository\BlogPostRepository;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. class BlogController extends AbstractController
  9. {
  10. #[Route('/blog', name: 'app_blog_index')]
  11. public function index(BlogPostRepository $blogPostRepository): Response
  12. {
  13. $posts = $blogPostRepository->findBy([], ['createdAt' => 'DESC']);
  14. return $this->render('blog/index.html.twig', [
  15. 'posts' => $posts,
  16. ]);
  17. }
  18. #[Route('/blog/{slug}', name: 'app_blog_show')]
  19. public function show(string $slug, BlogPostRepository $blogPostRepository): Response
  20. {
  21. $post = $blogPostRepository->findOneBy(['slug' => $slug]);
  22. if (!$post) {
  23. throw $this->createNotFoundException('The blog post does not exist');
  24. }
  25. return $this->render('blog/show.html.twig', [
  26. 'post' => $post,
  27. ]);
  28. }
  29. }