Accéder au contenu principal

Articles

Affichage des articles associés au libellé Symfony

Les contrôleurs avec Symfony2

Retourner une réponse Je vous l'ai dit de nombreuses fois depuis le début de ce cours : le rôle du contrôleur est de retourner une réponse. Voici le contrôleur le plus simple qui soit, c'est le contrôleur qu'on avait créé dans un des chapitres précédents. Il dispose d'une seule méthode, nommée « index », et retourne une réponse qui ne contient que « Hello World ! » : <?php // src/OC/PlatformBundle/Controller/AdvertController.php namespace OC\PlatformBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; class AdvertController extends Controller {   public function indexAction()   {     return new Response("Hello World !");   } } La suite de ce chapitre est découpée en deux parties : Les objets Request et Response qui vont vous permettre de construire une réponse en fonction de la requête ; Les services de base qui vont vous permettre de réaliser t...

Le moteur de templates Twig Symfony2

Les templates Twig À savoir Première chose à savoir sur Twig : vous pouvez afficher des variables et pouvez exécuter des expressions . Ce n'est pas la même chose : {{ … }} affiche quelque chose ; {% … %} fait quelque chose ; {# … #} n'affiche rien et ne fait rien : c'est la syntaxe pour les commentaires, qui peuvent être sur plusieurs lignes.   Afficher des variables  Syntaxe de base pour afficher des variables Afficher une variable se fait avec les doubles accolades « {{ … }} ». Voici quelques exemples. Description Exemple Twig Équivalent PHP Afficher une variable Pseudo : {{ pseudo }} Pseudo : <?php echo $pseudo; ?> Afficher l'index d'un tableau Identifiant : {{ user['id'] }} Identifiant : <?php echo $user['id']; ?> Afficher l'attribut d'un objet, dont le getter respecte la convention $objet->getAttribut() Identifiant : {{ user.id }} Identifiant : <?php echo $u...

Le routeur de Symfony2

Je vous invite à mettre dès maintenant les routes présentées au code suivant dans le fichier, nous allons travailler dessus dans ce chapitre : # src/OC/PlatformBundle/Resources/config/routing.yml oc_platform_home:     path:      /platform     defaults:  { _controller: OCPlatformBundle:Advert:index }     oc_platform_view:     path:      /platform/advert/{id}     defaults:  { _controller: OCPlatformBundle:Advert:view }     oc_platform_add:     path:      /platform/add     defaults:  { _controller: OCPlatformBundle:Advert:add } Et voici en texte le fonctionnement, pas à pas : On appelle l'URL /platform/advert/5 . Le routeur essaie de faire correspondre cette URL avec le path de la première route. Ici, /platform/advert/5 ne correspond pas du tout à /platf...