Installer un bundle avec Composer dans Symfony
Sommaire
- 1- Objectifs
- 2- Introduction
- 3- Travailler avec Composer
- 3.1- Qu’est-ce qu’un Composer?
- 3.2- Installation de Composer
- 4- Travailler avec bundle
- 4.1- Qu’est-ce qu’un bundle?
- 4.2- La composition d'un bundle
- 4.3- Installer un bundle avec Composer
- 4.4- Recherche d’un bundle sur Packagist
- 4.4.1- Trouver le bundle
- 4.5- Ajouter le bundle à votre fichier composer.json:
- 4.6- Ajouter le bundle à votre fichier composer.json:
- 4.7- Exécution de la commande Composer pour installer le bundle
- 4.7.1- Cours Symfony
Installer un bundle avec Composer dans Symfony
-
Objectifs
-
Introduction
- Dans le domaine du développement web, Composer est largement utilisé, ce qui le rend essentiel à appréhender afin de le comprendre et de le maîtriser rapidement. Cela garantit la production d’un code propre et compréhensible par tous les intervenants d’un projet.
- Git est également un outil fréquemment employé par les développeurs web pour collaborer sur des projets, notamment ceux hébergés sur des plateformes telles que Github ou Gitlab.
- L’efficacité de Git est manifeste dans les projets collaboratifs, où chaque développeur peut travailler de manière autonome sur sa propre branche, évitant ainsi les conflits de modifications.
- De plus, Git offre la possibilité de revenir à une version antérieure du code, réduisant ainsi les risques de perte de travail. Il sert également de système de gestion de versions, permettant de faire évoluer un projet sans altérer les versions précédentes, offrant ainsi aux utilisateurs la possibilité d’accéder à d’anciennes versions au besoin. Les utilisateurs peuvent également signaler des problèmes ou exprimer des besoins en créant des « issues » dans le système.
-
Travailler avec Composer
-
Qu’est-ce qu’un Composer?
- Composer est ce qu’on appelle un gestionnaire de dépendances parce qu’il permet d’agir sur les dépendances en PHP au sein d’un projet. Les dépendances dans un projet sont toutes les bibliothèques dont le projet dépend pour fonctionner.
-
Installation de Composer
- Pour installer Composer sur votre ordinateur, vous pouvez suivre les étapes suivantes :
- Téléchargez l’installateur de Composer à partir du site web de Composer : getcomposer.org.
- Exécutez l’installateur pour Windows et Mac et suivez les instructions à l’écran pour installer Composer.
- Sous Linux, il faut taper les commandes qui sont écrites dans le bloc Command-line installation de la page Download du site getcomposer.org sur son terminal.
- À savoir que vous pouvez télécharger le binaire directement depuis Github ou via la commande CURL, qu’il faudra s’assurer d’installer au préalable.
- Cette commande affiche la version de Composer installée sur votre ordinateur. Si Composer est correctement installé, vous devriez voir s’afficher la version de Composer.
- Pour mettre à jour Composer sous Linux et sous Windows, il faut taper la commande composer self-update dans leur terminal natif.
- Pour ne pas avoir de limitation dans le choix des composants, il faut également installer un autre outil, Git, qui est nécessaire pour la plupart des bibliothèques.
-
Travailler avec bundle
-
Qu’est-ce qu’un bundle?
- Depuis Symfony version 4.0, l’organisation d’une application web sous Symfony en utilisant des bundles n’est plus recommandée.
- Un bundle vise à partager le code d’une fonctionnalité entre plusieurs pages ou applications.
- Cela favorise la maintenabilité du code et une structure claire, ce qui constitue une bonne pratique de développement. Bien qu’il existe de nombreuses autres bonnes pratiques, il est actuellement préférable de se concentrer sur la clarté et la propreté du code. La normalisation sera abordée ultérieurement dans le cours.
- Un bundle peut être comparé à une extension de navigateur web ou à un CMS, dans sa structure, bien que son contenu diffère.
- Il s’agit de packages PHP qui étendent les fonctionnalités de Symfony en ajoutant de nouveaux composants, configurations et fonctionnalités à l’application. Généralement développés et maintenus par la communauté Symfony, il est également possible de créer ses propres bundles pour l’application. Ces bundles peuvent être utilisés individuellement ou combinés pour enrichir les fonctionnalités de l’application.
- Un bundle peut comprendre divers éléments tels que des contrôleurs, des services, des événements, etc. Il représente généralement un package complet regroupant tous les éléments nécessaires à une fonctionnalité spécifique de l’application. Il convient de ne pas le confondre avec un composant Symfony, qui est davantage une bibliothèque indépendante utilisable dans différents projets, sans logique métier ni contrôleurs.
- L’activation ou la désactivation d’un bundle se fait généralement dans le fichier config/bundles.php. Cependant, avec Symfony Flex, qui est souvent utilisé, cette gestion est automatisée lorsque des bundles sont ajoutés ou supprimés.
- Cependant, lors de la création d’un bundle personnalisé, son intégration doit être réalisée manuellement dans le fichier bundles.php ainsi que dans le fichier composer.json, en respectant la norme PSR-4.
-
La composition d’un bundle
- Les éléments constitutifs d’un bundle comprennent des classes PHP qui peuvent étendre ou surcharger les fonctionnalités de Symfony, ainsi que des fichiers de configuration qui définissent son utilisation dans l’application. Les classes peuvent étendre les contrôleurs Symfony pour gérer les routes ou modifier les modèles de données pour permettre une persistance de données étendue.
- Les fichiers de configuration incluent des paramètres, des routes, des services, des événements, etc., nécessaires au fonctionnement du bundle ou de l’application.
- Les vues intégrées au bundle sont des fichiers de template Twig contenant du code HTML, PHP et Twig qui sont interprétés pour présenter les données de manière cohérente dans l’application.
- Les ressources, telles que les images, les feuilles de style ou les scripts JavaScript, sont également incluses dans un bundle. Ces fichiers sont nécessaires au fonctionnement du bundle ou de l’application et peuvent être inclus via des liens statiques ou des appels de ressources dans les vues ou les fichiers de configuration.
- Enfin, les commandes console jointes au bundle sont des classes exécutables via le terminal pour automatiser des tâches spécifiques telles que la création d’entités, la mise à jour de la base de données ou la génération de code, améliorant ainsi l’efficacité du développement.
-
Installer un bundle avec Composer
- Pour chaque projet, il y a un fichier composer.json. Ce fichier (composer.json) est utilisé pour gérer les dépendances d’un projet PHP. Il est utilisé pour définir les bibliothèques et les packages dont un projet a besoin pour fonctionner correctement.
- Le fichier composer.json peut être créé pour n’importe quel type de projet PHP, que ce soit un site web, une application web, une application de bureau, etc.
- Le fichier composer.json définit les informations suivantes pour chaque dépendance :
- Le nom du package,
- La version requise,
- Les dépendances supplémentaires nécessaires.
- En utilisant Composer, vous pouvez automatiser le processus d’installation et de mise à jour de ces dépendances, ce qui vous permet de vous concentrer sur le développement de votre projet sans avoir à vous soucier de la gestion des dépendances.
-
Recherche d’un bundle sur Packagist
- L’installation d’un bundle se fait en plusieurs étapes. Maintenant que nous avons installé Composer, il faut nous rendre sur le site Packagist.org. À la suite de quoi, on utilisera la barre de recherche pour trouver un bundle qui correspond à nos besoins. Il est donc de votre ressort de choisir celui que vous souhaitez.
- Pour installer un bundle avec Composer, vous devez suivre quelques étapes simples :
-
Trouver le bundle
- Avant de pouvoir l’installer, vous devez savoir quel bundle vous souhaitez utiliser. Vous pouvez le trouver sur Packagist, le référentiel principal des paquets Composer pour PHP, ou sur d’autres sources.
- Pour trouver un bundle à installer, vous avez plusieurs options :
- Packagist: Packagist est la principale source de paquets Composer pour PHP. Vous pouvez accéder à Packagist via leur site web (https://packagist.org/) et utiliser leur moteur de recherche pour trouver des bundles en fonction de leurs noms, de leurs auteurs ou de leurs descriptions.
- GitHub: De nombreux développeurs publient leurs bundles sur GitHub. Vous pouvez rechercher des bundles en utilisant la fonction de recherche de GitHub et en filtrant les résultats par langage (PHP) pour trouver des bundles spécifiques à Symfony.
- Documentation Symfony: La documentation officielle de Symfony répertorie de nombreux bundles recommandés et populaires que vous pouvez utiliser dans vos projets. Consultez la section des bundles dans la documentation pour découvrir de nouveaux bundles et leurs fonctionnalités.
- Communauté Symfony: La communauté Symfony est active sur divers forums, groupes de discussion et canaux de médias sociaux. Vous pouvez poser des questions à la communauté pour obtenir des recommandations sur les bundles qui répondent à vos besoins spécifiques.
- Une fois que vous avez trouvé le bundle que vous souhaitez installer, vous pouvez procéder à son installation en ajoutant son nom à votre fichier composer.json et en exécutant la commande composer update, comme expliqué précédemment.
-
Ajouter le bundle à votre fichier composer.json:
-
Ajouter le bundle à votre fichier composer.json:
- Ouvrez votre fichier composer.json et ajoutez le nom du bundle à la liste des dépendances. Par exemple, si vous souhaitez installer le bundle « exemple/bundle », ajoutez simplement « exemple/bundle » à la section « require » de votre fichier composer.json.
-
Exécution de la commande Composer pour installer le bundle
- Toujours dans le terminal dans le répertoire de votre projet PHP, vous allez exécuter la commande
composer install
. Cette commande téléchargera les fichiers du bundle et les dépendances associées à partir du dépôt Packagist et les installera dans le répertoire vendor. Enfin, vous n’aurez plus qu’à attendre la fin de l’installation. - Après l’exécution de la commande composer install, le bundle est maintenant installé et prêt à être utilisé dans votre projet PHP. Vous pouvez maintenant vérifier l’installation en consultant le fichier composer.lock et en vérifiant la présence du dossier du bundle dans le répertoire vendor.
- Pour mettre à jour les dépendances du projet, il faut utiliser une commande Composer dans le terminal. Sous Windows et Linux il s’agit de
composer update
. Elle télécharge les dernières versions des packages nécessaires et met à jour les fichiers Composer.lock, symfony.lock et le dossier vendors pour refléter ces mises à jour.