Vous êtes sur la page 1sur 5

Atelier framework Web côté serveur Symfony 3

TP 2 : Bundle, contrôleur et routing

Création d’un Bundle


1. Lancez votre IDE PHP NetBeans

2. Choisissez « File/New Project… », en suite choisir PHP dans Categories et « PHP


Application with Existing Sources » dans Projects :

Nadhem Bel Hadj 1 AU : 2016/2017


Atelier framework Web côté serveur Symfony 3

3. Enfin cliquez sur « Finish », votre projet sera créé :

4. Créer un nouveau Bundle (module), en allant sur le dossier C:\WAMP\WWW\SF3> puis


en tapant :
C:\WAMP\WWW\SF3> php bin/console generate:bundle
Entrez le nom CatalogueBundle comme nom du Bundle (vous pouvez choisir n’importe quel nom
qui se termine par le mot Bundle).

Nadhem Bel Hadj 2 AU : 2016/2017


Atelier framework Web côté serveur Symfony 3

5. Examinez le dossier src, Vérifiez qu’un nouveau dossier nommé CatalogueBundle a été
ajouté :

6. Testez votre travail premier « Hello Word » en ouvrant l’Url suivante :


http://localhost/sf3/web/app_dev.php/

Nadhem Bel Hadj 3 AU : 2016/2017


Atelier framework Web côté serveur Symfony 3

7. Ouvrez le fichier src/CatalogueBundle/Controller/DefaultController.php


<?php

namespace CatalogueBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

class DefaultController extends Controller


{
/**
* @Route("/")
*/
public function indexAction()
{
return $this->render('CatalogueBundle:Default:index.html.twig');
}
}

8. Modifier la Route et l’action pour afficher Hello Nom, où Nom est saisi dans l’url. Par
exemple si l’url est http://localhost/sf3/web/app_dev.php/hello/Nadhem
On affiche Hello Nadhem

<?php

namespace CatalogueBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

class DefaultController extends Controller


{
/**
* @Route("/hello/{name}")
*/
public function indexAction($name)
{
return $this->render('CatalogueBundle:Default:index.html.twig',array('name' =>
$name));

}
}

9. Editer le fichier de la vue src/CatalogueBundle/Resources/views/Default/index.html.twig


Puis modifiez-le comme suit :
Hello {{ name }}

Nadhem Bel Hadj 4 AU : 2016/2017


Atelier framework Web côté serveur Symfony 3

 name ici désigne la variable name passée par le modèle (array('name' =>
$name));)

10. Tester votre travail en tapant l’Url suivante :


http://localhost/sf3/web/app_dev.php/hello/Yassine
Hello Yassine doit être affiché (Bien sûr vous pouvez mettre votre prénom à la place de
Yassine)

11. Modifier le Controller et la vue pour faire la somme de deux entiers tapés dans l’url par
exemple si on tape http://localhost/sf3/web/app_dev.php/somme/10/2
Le message affiché sera « La somme est de 10 et 2 est 12 »
a. Ajouter le code qui suit au Controller src/CatalogueBundle/Controller/DefaultController.php :
/**
* @Route("/somme/{a}/{b}")
*/
public function sommeAction($a,$b)
{
$s=$a + $b;
return $this->render('CatalogueBundle:Default:somme.html.twig',array('a' =>
$a,'b' => $b, 'somme' => $s ));

b. Créez une nouvelle vue appelée somme.html.twig dans le dossier


src/CatalogueBundle/Resources/views/Default/ dont le contenu est :
La somme de {{ a }} et {{ b }} est {{ somme }}

c. Testez votre travail en tapant l’url :


http://localhost/sf3/web/app_dev.php/somme/10/2

Nadhem Bel Hadj 5 AU : 2016/2017

Vous aimerez peut-être aussi