Créer et publier un paquet Composer : Guide pour Développeurs PHP


La gestion des dépendances est une partie cruciale du développement logiciel, mais elle a longtemps été un processus manuel et susceptible d’erreurs. Heureusement, des outils modernes comme Composer ont simplifié cette tâche pour les développeurs PHP. Composer est désormais le standard pour la gestion des dépendances en PHP grâce à sa simplicité et sa large adoption.

Outre la gestion des dépendances, Composer propose plusieurs fonctionnalités utiles, telles que :

  • Autoloading : Charge automatiquement les classes et fonctions des bibliothèques externes, facilitant ainsi leur intégration dans vos projets PHP.
  • Génération de code : Produit automatiquement du code ou des configurations, accélérant le développement et assurant la cohérence.
  • Exécution de scripts : Automatise des tâches comme les tests ou la génération de documentation à partir de votre base de code, améliorant ainsi votre flux de travail.

Ce guide vous expliquera comment créer un paquet Composer, puis le publier sur Packagist, une plateforme de dépôt pour paquets PHP accessible aux développeurs du monde entier.

Fonctionnement de Composer

Composer utilise un fichier composer.json pour définir les dépendances de votre projet PHP. Il recherche ces dépendances dans un dépôt centralisé, les télécharge et les installe automatiquement.

Voici comment Composer fonctionne en pratique :

  1. Définir les dépendances : Éditez le fichier composer.json de votre projet pour spécifier les bibliothèques et leurs versions requises, ainsi que toute autre configuration nécessaire.
  2. Résolution des dépendances : Utilisez des commandes telles que install pour installer les dépendances, update pour les mettre à jour ou require pour ajouter de nouvelles dépendances. Composer lit le composer.json, consulte le dépôt de paquets pour trouver les versions appropriées, et vérifie les conflits ou contraintes de version.
  3. Installation des dépendances : Composer télécharge et installe les bibliothèques dans le répertoire vendor de votre projet. Il génère également un fichier composer.lock pour enregistrer les versions exactes des dépendances.
  4. Autoloading : Composer met en place un autoloader qui charge automatiquement les classes et fonctions des bibliothèques installées, évitant ainsi l’inclusion manuelle de chaque fichier.

En résumé, Composer simplifie la gestion des dépendances en PHP, facilitant l’installation, la mise à jour et l’utilisation des bibliothèques et frameworks.

Création et Publication d’un Paquet Composer

Ce guide vous montrera comment créer une bibliothèque PHP simple, nommée tempconv, destinée à convertir des températures entre Celsius et Fahrenheit, puis comment la publier en tant que paquet Composer.

Pré-requis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • PHP et Composer installés correctement. Les instructions de ce guide sont compatibles avec Composer v2.6.6 ou toute autre version v2.
  • Un compte GitHub pour héberger votre code dans un dépôt.
  • Un compte Packagist pour publier votre bibliothèque.

Création de votre bibliothèque PHP

Dans le répertoire de votre projet, ajoutez un fichier nommé TemperatureConverter.php avec le code suivant :

composer init

Notez que l’assistant fournit des réponses prédéfinies aux questions lorsqu’elles sont applicables, telles que la dérivation de votre nom et de votre adresse e-mail à partir de git. N’hésitez pas à les modifier si vous le souhaitez.

Cette bibliothèque ne dépend d’aucun autre paquet pour fonctionner, vous pouvez donc répondre Non aux questions spécifiant des dépendances.

L’assistant vous montre un aperçu du contenu du fichier généré et vous demande de le confirmer pour terminer l’assistant.

Organisation des fichiers du paquet

L’assistant crée deux répertoires en plus du fichier composer.json:

  • src pour votre code source
  • vendor pour vos dépendances téléchargées

Déplacez le fichier TemperatureConverter.php dans le répertoire src. Si votre bibliothèque a des dépendances, exécutez composer install pour générer l’autoloader et installer les dépendances du paquetage.

Téléversement du code sur GitHub

Créer une version de votre bibliothèque

Dans l’onglet “Code” de votre dépôt, à droite, vous devriez voir un lien qui vous permet de créer votre release comme suit :

Une fois que vous avez publié votre release, vous pouvez maintenant la soumettre sur Packagist en copiant l’URL de votre dépôt.

Une fois que vous avez vérifié, vous obtiendrez la commande qui vous permettra d’installer votre dépôt dans un projet PHP.

Une fois la librairie publiée, vous pouvez l’installer dans un nouveau projet contenant une classe de démonstration pour la tester. Cela générera un fichier composer.json.

Et voilà, notre librairie fonctionne parfaitement.

Publié le 30 août 2024 ; catégorie Indéfinie
0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires