Bonjour à tous,

Etant débutant sur Symfony 4, je suis le tutoriel Jobeet (https://www.jdecool.fr/blog/2017/09/...roduction.html).

Tout ce passait bien mais depuis quelques heures je n'arrive plus à me déplacer sur mon site.

En effet, j'ai configuré le fichier routes.yaml comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
index:
    path: /
    defaults: { _controller: '..\src\Controller\JobController::index' }
 
job_show:
    path: /job/{company}/{location}/{id}/{position}
    defaults: { _controller: 'App\Controller\JobController::show' }
    requirements:
        id: '\d+'
        company: '[A-Za-z0-9\-]+'
        location: '[A-Za-z0-9\-]+'
        position: '[A-Za-z0-9\-]+'
Lorsque je me trouve sur la page http://localhost:8000/, la vue gérée par le controller JobController devrait s'afficher mais ce n'est pas le cas. Le controller est défini comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
<?php
 
namespace App\Controller;
 
use App\Entity\Job;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 
class JobController extends AbstractController
{
    public function index(EntityManagerInterface $em): Response
    {
        $jobs = $em->getRepository(Job::class)->findAll();
 
        return $this->render('job/index.html.twig', [
            'jobs' => $jobs,
        ]);
    }
 
    public function show(EntityManagerInterface $em, int $id, string $company, string $location, string $position) : Response
    {
        // dans un projet réel, il sera nécessaire de faire une requête permettant de vérifier que tous les éléments
        // correspondent à une offre d'emploi valide
        $job = $em->getRepository(Job::class)->find($id);
        if (null === $job) {
            throw new NotFoundHttpException();
        }
 
        return $this->render('job/show.html.twig', [
            'job' => $job,
        ]);
    }
}
Le fichier index.html.twig est le suviant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
{% extends "base.html.twig" %}
 
{% block body %}
    <h1 class="my-4">Liste des offres</h1>
 
    {% for job in jobs %}
        <div class="row">
            <div class="col-md-7">
                <a href="#">
                    <img class="img-fluid rounded mb-3 mb-md-0" src="{{ asset('images/' ~ job.logo) }}" alt="{{ job.company }}">
                </a>
            </div>
            <div class="col-md-5">
                <h3>{{ job.position }}</h3>
                <p>{{ job.description }}</p>
                <p>Posted on {{ job.createdAt|date("m/d/Y") }}</p>
                <a class="btn btn-primary" href="{{ path('job_show', { 'id': job.id, 'company': job.companySlug, 'location': job.locationSlug, 'position': job.positionSlug }) }}">See more</a>
            </div>
        </div>
 
        <hr>
    {% endfor %}
 
    <ul class="pagination justify-content-center">
        <li class="page-item disabled">
            <a class="page-link" href="#" aria-label="Previous">
                <span aria-hidden="true">&laquo;</span>
                <span class="sr-only">Previous</span>
            </a>
        </li>
        <li class="page-item">
            <a class="page-link" href="#">1</a>
        </li>
        <li class="page-item disabled">
            <a class="page-link" href="#" aria-label="Next">
                <span aria-hidden="true">&raquo;</span>
                <span class="sr-only">Next</span>
            </a>
        </li>
    </ul>
{% endblock %}
Mon fichier routes.yaml me semble correctement défini donc je ne vois pas trop d'où pourrait venir mon erreur.

Ce que j'obtiens quand je lance "bind/console debug:router".
Nom : 15277790868236_Capture.PNG
Affichages : 131
Taille : 5,4 Ko
De plus, j'ai quand même une page qui s'affiche. C'est la page de mon DefaultController. Quand je modifie la page rattachée à ce controller, la page html est bien modifiée donc je suis un peu perdu.

J'ai passé mes dernières heures à chercher une solution mais malheureusement sans succès. J'espère que vous pourrez m'aider.

PS : j'ai essayé de supprimé le cache de Twig mais rien n'y fait.