src/Controller/MainController.php line 29

  1. <?php
  2.     
  3.     namespace App\Controller;
  4.     
  5.     use App\Entity\Parcours;
  6.     use App\Entity\SkillCategory;
  7.     use Doctrine\ORM\EntityManagerInterface;
  8.     use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9.     use Symfony\Component\HttpFoundation\Response;
  10.     use Symfony\Component\Routing\Annotation\Route;
  11.     
  12.     class MainController extends AbstractController
  13.     {
  14.         private EntityManagerInterface $entityManager;
  15.         
  16.         private string $title;
  17.         private string $meta_description;
  18.         private string $og_title;
  19.         private string $og_description;
  20.         public function __construct(EntityManagerInterface $entityManager)
  21.         {
  22.             $this->entityManager $entityManager;
  23.             $this->title 'Antony Martin';
  24.             $this->meta_description 'Portfolio Antony Martin, Compétences et Parcours de mon expérience';
  25.             $this->og_title $this->title;
  26.             $this->og_description $this->meta_description;
  27.         }
  28.         #[Route('/'name'homepage')]
  29.         public function index(): Response
  30.         {
  31.             return $this->render('main/index.html.twig', [
  32.               'controller_name' => 'MainController',
  33.               'title' => $this->title,
  34.               'meta_description' => $this->meta_description,
  35.               'og_title' => $this->og_title,
  36.               'og_description' => $this->og_description,
  37.             ]);
  38.         }
  39.         
  40.         #[Route('/parcours'name'parcours')]
  41.         public function parcours(): Response
  42.         {
  43.             $parcours $this->entityManager->getRepository(Parcours::class)->findBy([], ['date_debut' => 'DESC']);
  44.             $this->title 'Mon Parcourt | Antony Martin';
  45.             
  46.             return $this->render('main/parcours.html.twig', [
  47.               'controller_name' => 'MainController',
  48.               'h1' => 'Mon Parcourt',
  49.               'parcours' => $parcours,
  50.               'title' => $this->title,
  51.               'meta_description' => $this->meta_description,
  52.               'og_title' => $this->og_title,
  53.               'og_description' => $this->og_description,
  54.             ]);
  55.         }
  56.         
  57.         #[Route('/skills'name'skills')]
  58.         public function skills(): Response
  59.         {
  60.             $categories $this->entityManager->getRepository(SkillCategory::class)->findAll();
  61.             $this->title 'Mes Compétences | Antony Martin' ;
  62.             
  63.             return $this->render('main/skills.html.twig', [
  64.               'controller_name' => 'MainController',
  65.               'h1' => 'Mes Compétences',
  66.               'title' => $this->title,
  67.               'meta_description' => $this->meta_description,
  68.               'og_title' => $this->og_title,
  69.               'og_description' => $this->og_description,
  70.               'categories' => $categories
  71.             ]);
  72.         }
  73.     }