Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir Symfony3

Câbler une route sur une action

Testez gratuitement nos 1340 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Pour voir une action, il faut aussi une route. La route est l'adresse d'accès à une partie de votre code. Avec cette partie, vous aurez créé votre premier fonctionnement.
05:50

Transcription

En Symfony, il y a une petite difficulté. En fait, on peut configurer et faire fonctionner tout un tas de choses, de plein de façons différentes. On peut choisir de faire de la configuration pure. On peut choisir d'utiliser des annotations. On peut choisir de configurer en XML, en PHP, en YAML, en plein de choses, et assez souvent, on est perdu. Il faut savoir que maintenant, on préconise l'utilisation des annotations pour renseigner des routes. Je trouve ça très bien, parce que c'est ce que je préfère. Mais il y en a que ça va un peu perturber. Ne vous inquiétez pas, dans la documentation de Symfony, on vous expliquera comment vous pouvez continuer à configurer des routes. Par exemple ici, dans le fichier ici de configuration du routing, directement en YAML. Pourquoi pas ? Si vous faisiez comme ça avant, vous auriez peut-être envie de continuer. Si vous commencez sur Symfony3, je vous conseille très clairement d'utiliser les annotations. Pourquoi ? Parce que vous allez définir et travailler vos routes, directement au-dessus de l'indexAction, au-dessus des actions, directement. Ça veut dire vous allez tout avoir au même endroit, la configuration de la route ici, et puis l'action qui est câblée juste en-dessous. Et bon, dans un autre dossier évidemment, le template. Mais, c'est vrai que ça permet de garder une cohésion. On a un contrôleur qui définit des actions. Ces actions sont câblées sur des routes, c'est propre. On n'a pas besoin de chercher à 10 000 endroits différents. Comment ça marche les annotations ? Les annotations, c'est assez simple. Regardez ce qui se passe. Dans le routing ici, on dit simplement à Symfony, voilà, je vais utiliser les annotations, et la ressource que tu dois importer dans le routing, c'est tous les contrôleurs que tu trouveras, peu importe leur dossier ensuite, dans AppBundle, Controller. Donc lui, il va aller regarder directement dans AppBundle, Controller, il va scanner tous vos contrôleurs que vous avez là. Et quand il tombera sur une annotation comme ça au-dessus d'une action, il s'occupera de relier tout ça tout seul, comme un grand. Donc, il saura ici, en l'occurrence, que quand vous allez vous rendre sur le path, quand vous allez vous rendre sur cet URL là, le slash simplement, vous devrez charger cette action là, et donc ensuite, c'est le reste qui va se dérouler, c'est-à-dire le corps de votre action, le corps de votre fonction. Et on arrivera au final à un return, à un render, une réponse qui sera générée par le framework. Ce qui veut dire que si on veut faire fonctionner notre route, on va copier ici comme ça. Et on va définir cette route là, à cet endroit là. Et on va lui donner bien sûr, d'abord un path, donc on va lui donner une vraie URL, par exemple ici, my, tout simplement. Et ensuite derrière, on va définir un name. Et le name sera ce que vous voulez. Ici, ça pourrait être my aussi. Pensez à donner des noms assez intéressants, on verra plus tard que pour le debug, c'est vraiment super de nommer proprement les différents éléments. Bon, c'est un exemple évidemment. Maintenant que j'ai fait ça, qu'est-ce que je vais faire ? En fait, c'est ça qui est génial. Je vais rien faire, rien du tout, parce qu'en définissant le routing, comme ça, au-dessus de mon action, en ayant un template, et en rechargeant simplement ma page, ce que l'on va faire tout de suite, on va recharger simplement la page, on va avoir une erreur qui va nous dire que, regardez, on a un souci avec @Route. Ne vous méprenez pas, ça fonctionne, il n'y a aucun souci. Mais ne faites pas de bêtises quand vous êtes en train de définir les différentes parties dans Symfony. Parce que sinon, Symfony simplement va vous le dire. Il va vous dire, attention, vous avez un problème. Celui-ci, j'ai vraiment envie de vous le montrer. Et je vous explique pourquoi. Parce que de temps en temps, vous allez croire que des use ne sont pas utilisés. Regardez ce use là. Il est grisé par votre éditeur de texte. Vous pensez, à juste titre, que ce use là est un use qui n'est pas utilisé dans votre code. Il y a un petit problème avec les éditeurs, c'est qu'ils ne comprennent pas encore réellement les annotations. Regardez ici, le @Route qu'on a là, il ne fonctionnera jamais, si vous n'avez ce use là, qui est de la configuration un peu particulière, la configuration en annotation. Il faut simplement le savoir. Quand vous utilisez des annotations, que ce soit pour faire du routing, pour faire des contraintes, plein de choses qu'on peut faire en annotations. Il faudra toujours ajouter des use. C'est extrêmement important, le framework est très tatillon avec ça. Sinon, il ne saura quoi relier au @Route que vous avez là. il ne saura pas sur quelle classe il doit travailler. Il peut le savoir de lui-même, on est obligé de lui mettre des use. N'oubliez jamais ce use là. Il est extrêmement important si vous travaillez en annotation. Quand vous allez recharger évidemment, ça va fonctionner, vous aurez pas de problème. Ce framework est génial pour ça, vous vous trompez quelque part, vous avez une erreur, vous lisez l'erreur, vous savez ce qu'est votre erreur. N'hésitez pas non plus à toujours lire proprement les messages d'erreurs. Celui-là était important, maintenant ça veut dire quoi ? Je vais /my. Et je vais me rendre tout de suite, directement, sur l'action que j'ai définie, avec l'URL que j'ai définie. Et là, voilà en quelques minutes, on vient de créer une action sur un contrôleur, on vient de se créer notre propre action, notre propre route, vous voyez que c'est pas compliqué. Il suffit simplement d'être précis, d'y aller doucement et à tâtons. Et n'oubliez pas, à la moindre erreur, regardez proprement le message d'erreur. Je vais vous le remontrer ce message d'erreur, les messages d'erreurs sont très bien faits en Symfony. Vous ne pouvez pas vous tromper quand vous avez un message d'erreur. On vous dit bien ici que vous utilisez le @Route, l'annotation particulière, sur le contrôleur myAction de MyController, mais que vous n'avez pas importé. On vous dit bien que vous avez oublié un use. Lisez bien les messages d'erreurs, avant même d'aller poser des questions sur des forums, sur Stack Overflow, ou je ne sais où. Lisez les messages d'erreurs. Ils vont vous apprendre, ils vont vous dire ce qui ne va pas, toujours, c'est extrêmement bien fait.

Découvrir Symfony3

​Prenez en main Symfony3 pour développer des applications riches. Apprenez à créer des routes et des contrôleurs, créez des formulaires, sauvegardez des données, etc.

3h27 (45 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :7 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !