Console de Symfony : make:controller

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!

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 {{make: 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 {{make: controller_name }}! ✅</h1>
 
    This friendly message is coming from:
    <ul>
        <li>Your controller at <code><a href="{{make: 'src/Controller/TestController.php'|file_link(0) }}">src/Controller/TestController.php</a></code></li>
        <li>Your template at <code><a href="{{make: '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é.
  • Dernière modification: il y a 10 mois
  • par thierry