9
1

Symfony 2 : chapitre 2 - Les vues en Twig

Embed Size (px)

DESCRIPTION

Deuxième chapitre d'une formation Symfony 2, l'Objectif de ce chapitre peut se résumer dans les points suivants : - Présentation du moteur de template Twig - Syntaxe et utilisation du moteur de template Twig dans les vues des contrôleurs - Passer des variables depuis les contrôleurs vers les vues

Citation preview

Page 1: Symfony 2 : chapitre 2 - Les vues en Twig

1

Page 2: Symfony 2 : chapitre 2 - Les vues en Twig

ABDELKADER RHOUATI

[email protected]

COURS SF 2 - 2013

Symfony 22

Page 3: Symfony 2 : chapitre 2 - Les vues en Twig

Chapitre 2 : Les vues en Twig

3

Page 4: Symfony 2 : chapitre 2 - Les vues en Twig

Symfony utilise le moteur de template Twig C’est quoi un moteur de template ?

Un script qui permet d'utiliser des templates, c'est-à-dire des fichiers qui ont pour but d’afficher le contenu de votre page HTML de façon dynamique mais sans PHP, en utilisant leur propre langage. Chaque moteur a son propre langage.

Twig est développé par l’équipe de SensioLabs. Le premier objectif est de séparer la couche de présentation des

applications web.

Twig offre une meilleure:

1.Lisibilité : {{mavar}} à la place de <?php echo $mavar; ?> 

2.Ré-utisabilité : héritage entre Template. 3.Sécurité: variables protégées

4

Page 5: Symfony 2 : chapitre 2 - Les vues en Twig

Les vues : Twig vs PHP Exemple de code en PHP

Le même code en Twig

5

Page 6: Symfony 2 : chapitre 2 - Les vues en Twig

Syntaxe du langague

Syntaxe claire, concise et facile à Apprendre :

1. Variables : {{ mavar }} , {{objet.attribut}}, {{objet->attribut}}, {{tableau[‘element’]}}

2. Expressions : { % if condition %} … {%endif%}3. Commentaires : {# commentaires #}4. Liens avec path :

<a href = {{ path(‘homepage ‘) }}>>Accueil </a>5. Filtres : {{ varDate|date(“m\d\y”)}}6. Tests: {% if var is defined %} … {% endif %}7. Boucle :

{% for user in users %} <li>{{ user.username|e }}</li>

{% endfor %}

6

Documentation complète : http://twig.sensiolabs.org/documentation

Page 7: Symfony 2 : chapitre 2 - Les vues en Twig

L’héritage des templates

 Permet de  réutiliser certains blocs qui se répètent d’une page à l’autre

7

Templates fils {% extends‘UserBundleBundle::layout.ml.twig’ %}{% block content %}

{{ parent() }}Contenu spécifique

{% endblock%}

SIEDBAR

FOOTER

TEMPALTE PARENT : layout.html.twig

HEADER

{# définir un block #}{% block content %}

…{% endblock %}

Page 8: Symfony 2 : chapitre 2 - Les vues en Twig

Gestion des css / js / image

Pour chaque Bundle créer un Asset : répertoire qui regroupe l’ensemble des fichier CSS/JS/Image d’un bundle, utiliser la commande depuis la racine du Symfony :

php app/console assets:install web

Utiliser la fonction asset() pour appeler les fichiers depuis les vues twig

8

Page 9: Symfony 2 : chapitre 2 - Les vues en Twig

Passer des variables du contrôleur vers la vue Au niveau du contrôleur retourner un tableau associatif du

genre :

Array( ‘nom_variable_twig’ => $variable, …)

On peut passer des variable simples, des tableau et même des objets

9