Contrôleurs, Twig, Templates dans le FrameWork Symfony 3
Que doit respecter une méthode de contrôleur si elle est définie dans une route?
Pour utiliser une méthode dans un contrôleur qui n'est pas définie dans une route, doit-on suffixer la méthode par "Action"?
Non.
Ainsi on ne la confond pas avec les autres méthodes définies dans les routes.
Ces deux lignes sont-elles équivalentes?
Oui
Comment rediriger vers http://www.monsite.com
?
ATTENTION: il n'y a pas de validation d'URL dans ce cas et l'application devient vunérable aux attaques de redirection d'URL non validée.
Comment rediriger de manière permanente vers une URL en utilisant une route?
Citez 3 services de votre choix accessibles avec $this->get('nom_du_service')
Comment connaître la liste de tous les services disponibles?
>php bin/console debug:container
Comment obtenir le paramètre 'from' du service 'mailer'?
$from = $this->getParameter('app.mailer.from')
Quelle méthode utiliser pour obtenir un paramètre d'un service?
$this->getParameter(app.nomService.nomParamètre)
Ces deux lignes font-elles la même chose?
Oui
Lancement d'une exception que le kernel transforme en page 404
Quelle est la différence entre get() et peek()?
Que fait cette ligne dans une méthode dont la signature est (Request $request)?
On récupère une instance d'un fichier uploadé identifié par 'paramètre'
La classe Response de Symfony est-elle une abstraction autour de la réponse HTTP?
Oui
Quand la réponse est un fichier binaire quelle classe utiliser?
Comment envoyer un fichier et forcer le browser à le télécharger avec une méthode raccourcie?
Quelle classe utiliser pour charger dans une variable un fichier de l'application?
Avec une méthode raccourcie, comment envoyer un fichier et forcer le browser à le télécharger tout en renomant le fichier?
Avec une méthode raccourcie, comment envoyer un fichier et l'afficher dans le browser (au lieu de le télécharger) tout en renomant le fichier?
Donnez un synonyme de Template
Une Vue
Pourquoi utiliser les templates?
Pour séparer le code PHP (l'action) du code HTML (la présentation)
Pourquoi utilise-t-on un moteur de template Twig?
Car il nous permet de rendre notre page HTML
dynamique plus facilement qu'avec du PHP.
Quelle est la différence entre une page HTML statique et dynamique?
Le language Twig sera-t-il transformer en PHP?
Oui
Que fait Twig afin de dimuner le temps de création d'une page?
A la première lecture d'une page il traduit la page du Twig en PHP et la met en CACHE.
Ainsi à la deuxième lecture la page est déja traduite en PHP et se charge plus vite; aussi vite qu'une page PHP.
Comment récupérer un template dans une variable avec une méthode raccourcie?
$contenu = $this->renderView('B:R:T', array('paramètre' => 'valeur')
Nos templates peuvent-ils contenir autre chose que du HTML?
Oui
etc...
Comment envoyer un template par mail?
mail('adresse_email', 'object_du_mail', $contenu_du_template)
avec
$contenu_du_template = $this->renderView('B:R:T', array('paramètre'=>'valeur')
Quelle ponctuation utiliser pour afficher quelquechose?
{{ }}
Quelle ponctuation utiliser pour contenir un commentaire?
{# #}
Quelle ponctuation utiliser pour contenir une action?
{% %}
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ variable }}
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ user['id'] }}
ou
{{ user.id }}
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ user.id }}
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ name | upper }}
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ news.texte | striptags | title }}
Le filtre striptags est appliqué en premier.
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ madate | date('d/m/Y') }}
Notez que madate doit être une instance de Datetime
Quel est l'équivalent Twig de la ligne PHP suivante?
{{ name ~ " " ~ prenom }}
Quelles sont les vérifications que Twig effectue avant d'afficher l'attribut?
{{ blog.message }}
Qu'affiche la ligne suivante?
Avec la variable $prenom définie à "Nicolas" dans le contrôleur
Bonjour Nathalie Salut Johan Hello Nicolas
Comment retourner le nombre d'éléments d'un tableau?
{{ tableau | length }}
Comment retourner le nombre de lettres d'un texte?
{{ texte | length }}
Citez quelques nom de filtres Twig
Comment insérer des variables dans un texte?
Note: $mot = 'World' dans le contrôleur dans le cas 2.
Toutes les variables affichées par Twig dans nos templates sont-elles protégées?
Oui par défault Twig applique un filtre et toutes nos variables qui sont donc échappées.
Comment ne pas échapper une variable que l'on souhaite afficher dans un template Twig?
{{ variable | raw }}
On peut ainsi afficher du html (ou du JS) dans notre template:
{{ <p> hello </p> | raw }}
Quelle est la variable globale que Twig enregistre par défault?
{{ app }}
Quelle est la caractèristique de la variable globale Twig {{ app }} ?
Elle est accessible par défault dans tous les templates de l'application et possède de nombreux attributs:
Notez l'acronyme "DURES" pour s'en souvenir
Comment définir une variable globale Twig?
Peut-on être certifié Twig?
Oui une certification Twig est distribuée par SensioLabs