Bonjour

Je viens de debuter sur symfony 5 !

j'ai crée mon projet(symfony new projet --full)

j'ai crée mon premier controller(symfony console make:controller home)

j'ai lancé le serveur et j'ai la page de symfony qui s'affiche(welcome to symfony) et je ne sais pas comment l'enlever pour avoir accès au template du controller ?

10 réponses


la page de symfony s'affiche tant que tu n'as pas défini de controleur pour le chemin "/". c'est en quelque sorte leur 404 de bienvenue :-)

vinci
Auteur

voici mon controller!
où est ce qu'on définit le chemin en question

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class HomeController extends AbstractController
{
/**

  • @Route("/home", name="home")
    */
    public function index(): Response
    {
    return $this->render('home/index.html.twig', [
    'controller_name' => 'HomeController',
    ]);
    }
    }

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class HomeController extends AbstractController
{
   /**
    * @Route("/", name="home")
    */
    public function index(): Response
    {
      return $this->render('home/index.html.twig', [
      'controller_name' => 'HomeController',
      ]);
    }
}

tu retires le /home en /

vinci
Auteur

lorsque je le fais j'ai une erreur : "An exception occurred in driver: could not find driver"

vinci
Auteur

Doctrine\DBAL\Exception\ DriverException (line 102)

                }
                break;
        }
        return new DriverException($message, $exception);
    }
    /**
     * {@inheritdoc}
     */

salut Vinci,
ce n'est pas une erreur, c'est juste que tu n'as pas configuré ta base de donnée.
je te conseille de lire le tuto de Symfony, il est très bien fait et il est en français. tu auras la réponse à tes questions de base : https://symfony.com/doc/current/the-fast-track/fr/index.html
bonne suite

vinci
Auteur

je l'ai fais au debut avant de poster

tu peux creer un nouveau controlleur comme suit

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
//use Twig\Environment;
use Twig\Environment;

class MainController extends AbstractController
{
/**

  • @Route("/", name="home")
    */
    public function index(): Response
    {
    //tu cree la page home sous un dossier template et si tu veux la mettre directement tu enleve le dossier pages dans mon cas
    return $this->render('pages/home.html.twig');

}

il est preferable aussi de configurer la base de donnees sur le fichier .env

Vous devez configurer la base de données dans un fichier .env
Avant :
DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
Aprés :
DATABASE_URL="mysql://root:@127.0.0.1:3306/my_project_name?serverVersion=5.7"

DATABASE_URL=mysql://user:pw@127.0.0.1:3306/db?serverVersion=5.7