Bonjour,

Voila je rencontre un petit problème avec mon code.

Je suis entrain de suivre le tuto video des Symfony sur YouTube et je rencontre un probléme (j'en suis à la vidéo n°2).

Quand je vais sur ma page http://localhost:8000, j'ai l'erreur suivant :
syntax error, unexpected ''pages\home.html.twig'' (T_CONSTANT_ENCAPSED_STRING), expecting ')'
en désignant la ligne suivante comme erreur :

return new Response($this->twig->render(content 'pages\home.html.twig'));

Voici le code de mes différents fichier.
routes.yaml

home:
  path: /
  controller: App\Controller\HomeController::index

HomeController.php

<?php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Twig\Environment;

class HomeController {

/**
 * @var Environment
 */
  private $twig;

  public function __construct($twig){
    $this->twig = $twig;
  }

  public function index(): Response{
    return new Response($this->twig->render(content 'pages\home.html.twig'));
  }

}

services.yaml

    App\Controller\HomeController:
        tags: ['controller.service_arguments']
        arguments:
          $twig: '@twig'

Ca fais 2 jours que j'y suis dessus et je comprend pas :(

Une idée ?

Merci d'avance pour votre aide.

PS : Je suis avec Symfony 5 et php 7.3.5

3 réponses


LeFlow
Auteur
Réponse acceptée

Merci beaucoup à vous.

En fait, c'etait le content qui foutais le bordel.

Salut,

Pourquoi ne pas utiliser l'Extends AbstractController comme ceci ?

<?php
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;

class HomeController extends AbstractController {

    /**
   * @Route("/", name="home")
   */
  public function index(){
    return $this->render( 'pages/home.html.twig');
  }

}

Le backslash dans "pages\home.html.twig" => "pages/home.html.twig";