Evénements, Traduction dans le FrameWork Symfony 3
Quelles sont les étapes pour créer son propre événement et reproduire ainsi le comportement des événements de Symfony?
Est-ce l'instance de la classe de l'événement que le gestionnaire va transmettre aux écouteurs (event listeners)?
Ainsi les écouteurs pouront utiliser les méthodes définies dans la classe événement pour faire leur travail.
Qui crée une instance de la classe événement?
Le gestionnarie d'événements transmet l'instance de la classe événement à l'écouteur.
Si l'on souhaite créer notre propre classe événement, quelle classe doit-elle étendre?
use Symfony\Component\EventDispatcher\Event
Est-ce une bonne pratique de regrouper le noms de nos événements que l'on souhaite créer dans une classe finale et d'associer chaque nom à une constante?
NomDeLaClasseFinale::NomDeLaConstante
Lorsque l'on crée notre propre classe événement on lui ajoute les attributs, setters et getters qu'il faut afin que la classe écouteuse puisse récupérer ou modifier les valeurs que l'on souhaite.
Tous les attributs ont un getter mais pas forcement un setter si on ne souhaite pas que la classe écouteuse modifie l'attribut
Quelle méthode du service event_dispatcher utilise-t-on pour déclencher un événement?
Que signifie: déclencher un événement?
C'est prévenir le dispatcher d'événements qu'un événement vient de se produire pour qu'il prévienne les écouteurs (listeners)
Une instance de la classe événement.
Dans Symfony, quel pattern est implémenté dans la gestion des événements?
Le pattern Observer
Qui des deux permet d'écouter de manière dynamique un événement?
Le découplage entre les événements et les écouteurs permet-il de pouvoir déclencher des événements alors que l'on a pas encore définit les écouteurs?
Oui
Quand on souhaite créer une classe souscripteur d'événement quelle interface doit-elle implémenter?
EventSubscriberInterface
Quelle est la différence entre un écouteur et un souscripteur d'événement ?
Quand on souhaite créer une classe souscripteur d'événement quelle méthode obligatoire de l'interface EventSubscriberInterface doit-elle implémenter?
Cette méthode doit retourner un tableau qui définit:
Comme appel-t-on en anglais un écouteur d'événement?
Event Listener
Comme appel-t-on en anglais un souscripteur d'événements?
Event Susbscriber
Cette méthode retourne un tableau qui définit:
Combien il y a-t-il de niveau de priorités pour les ''events listeners'' et les ''events subscribers''
De -255 à 255
Si l'on ne définit pas de niveau de priorité pour un écouteur ou un souscripteur d'événement, de combien sera-t-il par défaut?
0
Pour un même événement, comment faire pour qu'un écouteur empèche l'exécution de l'écouteur suivant?
L'Ecouteur doit utiliser la méthode stopPropagation()
Quel paramètre Symfony regarde-t-il pour savoir quelle langue par défaut utiliser si le client ne demande rien?
Si la valeur du paramètre %locale% n'est pas défini, quelle langue par défaut Symfony utilisera-t-il?
L'Anglais
Quelle est la différence entre la valeur fr_FR et fr_CH pour le paramètre %locale%?
A l'installation de Symfony, quelle est la valeur par défaut du paramètre %locale%?
en
Symfony nous permet-il:
Oui
Quel paramètre, Symfony regarde-t-il, pour savoir quelle langue utiliser pour le service de traduction?
La traduction est-elle possible dans un contrôleur et dans une vue?
Oui
Dans un contrôleur, quel est le nom du service de traduction que l'on utilise pour traduire du texte?
$this->get('translator')
Qu'est-ce qu'un catalogue dans le framework Symfony?
Un catalogue peut-il être constitué de plusieurs domaines?
Oui
Quel est le nom du domaine de ce fichier de traduction: messages.fr.yml?
messages
Le contenu d'un fichier de traduction du catalogue est-il sensible à la case et aux accents?
Dans une vue, quels sont les filtres Twig ou les balises Twig, que l'on doit utiliser au choix pour traduire.
Oui
{% trans %} {% endtrans %}
Non
Dans un bundle, dans quel repértoire doit se trouver les fichiers de traduction qui constituent le catalogue?
NomDuBundle/Resources/Translations
Quels sont les trois formats possibles de fichiers de traduction du catalogue?
Dans un catalogue, quand une même chaine source se retrouve traduite dans deux fichiers de traduction différents d'un même domaine, quelle traduction l'emporte?
La traduction située dans le bundle chargé en dernier dans le fichier app/kernel.app
Quand une même chaine source se retrouve traduite dans deux fichiers de traduction différents d'un même domaine, quelle traduction l'emporte?
Celle située dans app/Resources/translations
XLIFF
En développement, Symfony regénère-t-il le cache du catalogue à chaque exécution de l'application?
Oui
En production, Symfony regénère-t-il le cache du catalogue à chaque exécution de l'application?
Il faut donc penser à vider le cache aprés une modification de nos fichiers de traduction, pour que cette modification soit effective.
En développement,