Ceci est une ancienne révision du document !
Console de Symfony : make:controller
Commande
La commande php bin/console make:controller
créé la base d'un nouveau controller dans la structure du projet Symfony.
thierry@obi103:/var/www/html/xxx/yyy$ php bin/console make:controller Choose a name for your controller class (e.g. FierceElephantController): > TestController created: src/Controller/TestController.php created: templates/test/index.html.twig Success! Next: Open your new controller class and add some pages!
Résultat
Comme indiqué en réponse de la commande, il crée donc deux fichiers :
Le Fichier Controller
Le controller lui méme dans src/Controller/
.
On peut constater qu'il y associe aussi une route en Annotation * @Route(“/test”, name=“test”)
<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; class TestController extends AbstractController { /** * @Route("/test", name="test") */ public function index() { return $this->render('test/index.html.twig', [ 'controller_name' => 'TestController', ]); } }
Le Fichier Template
Le template twig dans templates/test/
{% extends 'base.html.twig' %} {% block title %}Hello {{:: controller_name }}!{% endblock %} {% block body %} <style> .example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; } .example-wrapper code { background: #F5F5F5; padding: 2px 6px; } </style> <div class="example-wrapper"> <h1>Hello {{:: controller_name }}! ✅</h1> This friendly message is coming from: <ul> <li>Your controller at <code><a href="{{:: 'src/Controller/TestController.php'|file_link(0) }}">src/Controller/TestController.php</a></code></li> <li>Your template at <code><a href="{{:: 'templates/test/index.html.twig'|file_link(0) }}">templates/test/index.html.twig</a></code></li> </ul> </div> {% endblock %}
Résultat dans un navigateur
Vous pourriez laisser un commentaire si vous étiez connecté.