Christophe Meneses - Développeur
  • Liste des articles
  • Contact
  • Linkedin
  • Github
  • Flux RSS
Tous les articles PHP / Symfony / Twig Classer ses vues en sous-répertoires sur un projet Symfony
PHP Symfony Twig

Classer ses vues en sous-répertoires sur un projet Symfony

Publié le 31/08/2014.

Vous avez crée des sous-répertoires pour classer vos vues en fonction de vos fonctionnalités mais vous ne savez pas comment les désigner dans vos contrôleurs ? Voici la réponse.

Description de l'arborescence

Imaginons que nous sommes en train de créer un blog. Vous allez avoir la partie visible du blog (le front), plus un système d'administration (le back).
Dans le dossier views, nous allons créer un dossier Front et un dossier Back.
Ensuite, nous allons créer un dossier Article dans le dossier Front. Il va contenir toutes les vues liées aux articles. Dans cet exemple, on aura une vue index.html.twig
On a donc l'arborescence :

/src/Xxx/YyyBundle/Ressources/views/Front/Article/index.html.twig

Côté contrôleur

La vue va être utilisée par l'action indexAction(). Pour lier l'action à cette vue, on va ajouter l'annotation @Template.
On sépare les différents niveaux à l'intérieur du dossier views par le caractère /. Attention l'erreur fréquente est de mettre le caractère : à la place de /.
Le caractère : sert uniquement à séparer le nom complet du bundle (ici : XxxYyyBundle) avec les dossiers contenus dans le dossier views (ici : Front/Article). Il sert également à séparer les dossiers contenus dans le dossier views avec la vue (ici : index.html.twig).

/**
 * @Template("XxxYyyBundle:Front/Article:index.html.twig")
 */
public function indexAction()
{
    [...]
}

Dans cette article, la solution donnée décrit le cas quand vous utilisez la méthode des annotations pour lier les vues aux actions des contrôleurs, mais le principe reste le même pour les autres méthodes (YAML, ...)

Versions

Cette article a été testé avec les versions suivantes :

PHP : 5.5.12
Symfony : 2.5.3
Début de l'article

Tous les articles PHP / Symfony / Twig Classer ses vues en sous-répertoires sur un projet Symfony

Liste des articles par catégorie

  1. Tous 124
  2. Apache2
  3. APC1
  4. Assetic2
  5. Bash2
  6. CentOS9
  7. Composer6
  8. CSS1
  9. Debian1
  10. Deployer1
  11. Design Pattern11
  12. Docker6
  13. Doctrine14
  14. Elasticsearch3
  15. Git6
  16. Google Charts1
  17. Hardware1
  18. Hébergement1
  19. JavaScript1
  20. jQuery4
  21. Kibana2
  22. Logstash1
  23. Machine Learning1
  24. MariaDB2
  25. Memcached2
  26. MySQL3
  27. Nginx2
  28. Panther3
  29. PHP59
  30. PHP_CodeSniffer1
  31. PHP-FPM2
  32. PhpMyAdmin1
  33. PhpStorm3
  34. PHPUnit6
  35. PostgreSQL2
  36. RabbitMQ2
  37. SQL1
  38. SVN4
  39. Sybase ASE1
  40. Symfony56
  41. Twig3
  42. Ubuntu14
  43. Vue.js2
  44. Vuex1
  45. Webpack Encore1
  46. Xdebug5

Derniers articles publiés

PHP
Différence entre les mots clés self et static dans le langage PHP

Symfony / Docker / Nginx
Migrer un projet Symfony du protocole HTTP 1.1 au protocole HTTP 2

Vue.js
Utiliser un filtre Vue.js directement dans le JavaScript

PHP / Symfony
Supprimer les messages de dépréciation de type : The "sensio_framework_extra.routing.loader.annot_*" service is deprecated since version 5.2

Symfony / RabbitMQ
Exemple d'utilisation du composant Messenger pour envoyer des emails en asynchrone avec RabbitMQ

PHP Symfony MariaDB HTML5 CSS3 JavaScript Bootstrap

© 2014 - 2019 réalisé par Christophe MENESES