Paramétrage, Contrôleurs, Routes, URL, Vues, Templates dans le FrameWork Symfony 3
Pourquoi faire hériter nos contrôleurs du contrôleur de base de Symfony?
Comment appeler le service Twig?
$this->get('templating')
Comment récupérer le contenu d'un template avec $this->get(...)?
$this->get('templating')->render('B:R:T')
En mode production, Symfony regénére-t-il le cache?
Non, jamais.
En mode développement, Symfony regénére-t-il le cache?
Oui, mais seulement une partie.
Comment vider le cache du mode production?
ou
Comment vider le cache du mode développement?
ou
Effacer le contenu du répertoire var\cache\dev
Quand on modifie le code de son site et que l'on envoie les modifications sur le serveur de production, quel cache faut-il penser à vider?
Le cache du mode production.
Quels sont les deux éléments qui composent au minimum une route?
Le routeur analyse-t-il dans l'ordre ou le désordre les routes contenues dans le fichier de configuration?
Dans l'ordre
Comment ajouter un paramètre à une URL?
{paramètre}
Comment ajouter des contraintes aux paramètres des URL?
En ajoutant des Expressions Regulières (Regex) dans la section "requirements"
Quel service peut générer des URL?
Le Routeur
De quoi a besoin le routeur pour générer une URL?
Qui réalise l'URL rewriting dans Symfony?
Le Routeur.
Il le fait du côté PHP afin que le résultat soit bien mieux intégré au code.
Que se passe-t-il si le Routeur ne trouve aucune route pour une URL?
Le Kernel déclenche une erreur 404
Quel onglet de la barre d'outils de Symfony faut-il choisir pour voir les routes parcourues une à une par le Routeur?
L'onglet 'Routing'
le Bundle, le Contrôleur et le Template?
Le nom de la route aide-t-il le Routeur à trouver le bon contrôleur?
Non
Le nom de la route aide-t-il le Routeur à générer des URL?
Oui
Où peut-on générer des URL?
L'URL qui lance le contrôleur est-elle relative ou absolue?
Absolue
exemple: http://www.monsite.com/platform
oc_platform_view_slug
Les paramètres une fois définis sans contrainte dans une route sont-ils par défaut obligatoires ou facultatifs?
Obligatoires
Par quelles ponctuations sépare-t-on les paramètres de l'url?
Non
Le paramètre {year} doit comporter 4 chiffres.
Faut-il respecter l'ordre des variables définie dans une URL l'orsqu'on les utilise dans la signature de la méthode du contrôleur?
Non
Qu'est-ce qu'un paramètre système d'une URL?
C'est un paramètre qui s'utilise comme les autres mais le Kernel de Symfony effectue automatiquement des actions supplémentaires l'orsqu'il le détecte.
Son nom commence par un underscore
Dans une URL le paramètre _controller est-il un paramètre système?
Oui
Expliquez le paramètre système _locale que l'on peut utiliser dans une URL?
il définit la langue dans laquelle le client souhaite la page.
Si l'on définit plusieurs langues pour une page se sera la page dont la langue est définie par _locale qui sera chargée.
Ne pas oublier de définir les 'requirements' afin d'établir les langues disponibles.
Expliquez le paramètre système _format que l'on peut trouver dans une URL
Permet au Kernel de savoir quel format est retourné par le contrôleur.
Ainsi le bon content-type est utilisé dans le header de la réponse
A quel moment peut-on ajouter un préfixe d'URL afin d'éviter d'écrire le même préfixe pour toutes les URL d'un Bundle?
Lors de l'import du fichier routing.yml du Bundle.
Quels sont les deux manières de générer une URL relative?
L'URL créée avec les deux méthodes suivantes sera-t-elle relative ou absolue?
Relative
Que doit-on ajouter aux lignes suivantes pour créer une URL absolue?
Pourquoi faut-il éviter d'utiliser le point dans le contenu d'un paramètre d'URL?
Afin d'éviter de couper le paramètre de part et d'autre du point car le point sépare les paramètres d'une URL.
Comment générer l'URL relative /platform/5 si la route est la suivante?
Comment générer l'URL relative /platform/5 si la route est la suivante?
Comment générer l'URL absolue http://www.monsite.com/platform/5 avec la route:
Au lieu d'utiliser un fichier de configuration comme routing.yml pour définir nos routes de Bundle, est-il possible d'utiliser les annotations au dessus de nos méthodes de contrôleur?
Oui
Quel est le devoir ultime d'un contrôleur?
Retourner une réponse.
Quelles sont les 2 manières que l'on a pour définir nos routes?
Quelle annotation faut-il écrire pour une action de contrôleur qui affichera 'hello' pour l'url /hello
Si par mégarde deux routes correspondent à une même URL, une erreur se déclenche-t-elle?
Non, la première route trouvée par le routeur est utilisée
Peut-il être égale à toto?
Non
Le paramètre {page} est un chiffre
Une Route est-ce comme une carte qui nous guide de L'URL vers un contrôleur?
Oui
Dés qu'on définit un {paramètre} pour une URL, est-il facultatif?
Non, on doit lui donner une valeur.
Le paramètre {page} de l'URL vaut maintenant 1 par défaut.
Cette valeur sera écrasée par la celle présente dans l'URL du client.