De nos jours, les développements que nous faisons sont de plus en plus réfléchis pour pouvoir être « réutilisables »Nous ne pensons plus au cas unique d’une application mais à tous ses composants qui pourront être fractionnés pour être facilement mis en place pour des projets futurs.
Pour pouvoir avoir cette approche « composant » ou encore « bibliothèque », de nombreux outils ont été mis en place, dont le plus célèbre pour PHP : Composer.
Nous allons donc apprendre à formater et créer notre propre package sur Composer pour pouvoir l’utiliser de la manière la plus simple et rapide.
Vous voulez connaître Composer et apprendre à l’utiliser ? N’hésitez pas à aller sur le site officiel : https://getcomposer.org .
Préparation du projet
Tout d’abord il faut préparer votre projet pour le mettre sur Packagist. Ce dernier est le service de recensement de package utilisé de base par Composer. Nous allons rajouter à la racine du projet un fichier « composer.json » comme celui-ci :
{ "name": "namespace/packageName", "description": "The descriptionof the package", "keywords": ["Some", "Keywords"], "license": "MIT", "authors": [ { "name": "Prénom Nom", "email": "prenom.nom@gmail.com" } ], "require": { "php": ">=5.4.0" }, "autoload": { "psr-0": { "Fk": "src/" } } }
Nous allons détailler ce fichier. Il s’agit d’un exemple, d’autres paramètres peuvent être ajoutés.
name est obligatoire. Il permet de définir l’appellation de votre package et il suit des conditions très strictes :
– Il ne doit pas contenir de majuscule
– Pas d’espaces
– Il est constitué de deux parties séparées par un /
- Le nom du vendor : en général votre nom de compte
- Le nom du package
description est une courte description du package. Il est déconseillé d’en mettre une trop longue.
keywords pour les mots-clés qui définissent le mieux le package : cela permet d’être mieux référencé pour la recherche de package.
license permet de préciser une licence pour votre package. Ici MIT est une licence pour l’open source. ( http://fr.wikipedia.org/wiki/Licence_MIT )
authors pour mettre tous les auteurs du package avec leur noms et mails.
require définit toutes les dépendances pour composer. Ici nous avons juste défini la version PHP minimum, mais vous pouvez ajouter vos packages auxquels votre projet dépend.
autoload pour la gestion de l’autoload par composer.
Une fois ce fichier créé, votre projet a déjà tous les prérequis pour être mis sur Packagist !
Nous avons vu que la procédure pour rendre notre code apte à être référencé sur Packagist est très simple. Nous allons voire dans une seconde partie comment mettre le projet sur packagist.org. En attendant, n’hésitez pas à allez sur les différents sites pour en apprendre davantage :