Symfony Flashcards
Histoire de symfony Je t’écoute !
SensioLabs, a commencé en 2005 à développer Symfony, une langage moderne et inspirée par Java. Il a été utilisé pour traiter des projets web et a été distribué sous licence MIT. PHP 7 a augmenté sa vitesse de exécution et offre un gain de vitesse de 45 % selon les applications.
Définiton de framework
Un framework est une infrastructure logicielle que les développeurs utilisent dans les langages de programmation pour créer des structures conviviales.
Définition de composer ?
Est un gestionnaire de dépendances libres écrit en PHP et il est donc au cœur de la stratégie de Symfony. Il vous faudra donc installer Composer avant même de commencer votre projet, c’est un prérequis, tout comme PHP doit être installé avant.
Définition de Twig?
Twig est un moteur de modèles qui sépare l’interface graphique du code, offrant une syntaxe simple pour la visualisation des données.
Définition de Doctrine?
Doctrine est l’ORM par défaut de Symfony.
Qu’est-ce qu’un ORM et donne la signification de son acronyme?
(Object-Relational Mapping) !Un ORM est un ensemble de classes permettant de manipuler les tables d’une base de données relationnelle, telle que MySQL ou PostgreSQL, comme s’il s’agissait d’objets.
Définition de DQL ?
Le DQL est un langage simplifié de doctrine pour communiquer avec la base de données. Comme SQL
Définition de MVC et donne ces modèles?
MVC (Modèle Vue Contrôleur). MVC est une architecture qui sert à découper l’application en modules avec trois grandes responsabilités.
Les modèles gèrent l’accès aux données.
Les vues sont les interfaces graphiques, ce que verra l’utilisateur.
Les contrôleurs ont pour objectif de retourner une réponse.
comment ça fonctionne un controleur?
Le contrôleur vérifie le code mais a un code limité, recherchant les informations nécessaires pour renvoyer une réponse.
Comment fonctionne un vue dans le modèle MVC ?
Les vues, ce sont donc les pages qui ont été créées avec Twig et qui vont être dans un dossier templates.
Comment fonctionne un modèle ?
Le modèle c’est la couche de données qui permettra d’y accéder via des repositories ou de modifier leurs structures via des entités. Dans notre exemple, le contrôleur ira justement l’interroger pour vérifier la conformité de notre formulaire.
Que contient le dossier BIN ?
Contient certains exécutables comme la console ou phpunit pour lancer les tests. Vous n’intervenez que très peu sur ce dossier.
Que contient le dossier CONFIG?
Contient tous les fichiers de configuration de l’application. Cela peut être la configuration de Symfony lui-même ou bien celle des packages installés par Composer. Vous serez amené à beaucoup travailler dans ce dossier pour donner des indications sur le fonctionnement de votre application.
Que contient le dossier MIGRATIONS ?
Ce dossier contient l’historique, étape par étape, de la construction de la base de données. À chaque nouvelle modification de la structure de la base de données un fichier reflétant l’opération réalisée sera généré, permettant ainsi de suivre la construction de la base de données et pour pouvoir la recréer automatiquement.
Les outils de Symfony CLI liés à la base de données se servent de ce dossier pour travailler.
A quoi sert le dossier PUBLIC ?
Ce dossier contient le premier fichier qui sera lu lors du lancement de l’application. Il contient également tout ce que le visiteur du site sera autorisé à voir : fichiers HTML, CSS, js, les images, etc. Le visiteur du site n’a pas accès à ce qui se trouve en dehors de ce dossier. Il est donc fondamental de ne rien mettre dans ce dossier qui serait confidentiel.
A quoi sert le dossier SRC?
C’est le dossier principal de votre application. Tout le code de votre application se trouvera dans ce dossier. Vous y passerez donc la plupart de votre temps.
A quoi sert le dossier TEMPLATES?
Ce dossier contient toutes les vues de l’application, c’est-à-dire vos fichiers HTML, mais avec quelques particularités. Les fichiers templates utilisent le moteur de rendu TWIG pour travailler avec Symfony.
A quoi sert le dossier TEST ?
Contient tous les fichiers permettant d’effectuer des tests unitaires, d’intégration ou d’application. La structure de ce dossier doit obligatoirement reprendre la structure du dossier « /src » de votre application. PHPUnit cherchera par défaut les fichiers de test dans ce dossier.
A quoi sert le dossier TRANSLATIONS ?
Si votre application gère le multilingue, ce dossier contiendra les fichiers de traductions. Chaque fichier pouvant correspondre à un domaine particulier et à une langue donnée.
A quoi sert le dossier VAR ?
Accessible en écriture par le serveur, ce dossier contient les fichiers temporaires, les fichiers de travail, le cache, etc. Vous n’avez généralement pas besoin d’aller dans ce dossier.
Que contient le dossier VENDOR?
Contient tous les dossiers système nécessaires au fonctionnement interne de Symfony. Ce dossier contient également les dossiers des packages installés par Composer.
Le fichier « .env »
Ce fichier permet de stocker toutes les informations sensibles dont votre application a besoin et que vous ne souhaitez pas exposer à tout le monde. Il peut contenir des mots de passe, des clés d’API, des informations de connexion à une base de données, etc. Ce fichier ne sera pas versionné et ainsi pas exposé dans votre dépôt Git.
Les fichiers « composer.json » et « composer.lock »
Le fichier composer.json contient la liste des dépendances de premier niveau (celles dont votre projet a effectivement besoin) avec comme précision une plage de versions acceptables (ni trop ancienne, ni trop récente par exemple).
Le fichier composer.lock, lui, contient la liste de l’ensemble de toutes les dépendances réellement installées avec la version précise installées ainsi que toutes les sous-dépendances, c’est-à-dire les dépendances des dépendances.
Quel type de système est composer le dossier SYMFONY.LOCK ? EXPLIQUE MOI . Enfin Que contient le dossier Le fichier « symfony.lock » ?
Symfony possède un système de recettes appelé Flex. un outil qui rend l’ajout de nouvelles fonctionnalités très simple. Grâce à une seule ligne de commande, vous pouvez utiliser une des recettes proposées par Symfony pour ajouter une fonctionnalité.
Le fichier symfony.lock est le fichier qui tient le registre des dépendances installées via des recettes, ce qui est plus simple à suivre que de le deviner à partir du fichier composer.lock.