Installer des bibliothèques PHP avec Composer (Ubuntu)

Composer est un outil permettant d’installer des bibliothèques PHP dans un projet très facilement. Au lieu de télécharger une librairie à la main et l’inclure dans les fichiers qui l’utilisent, Composer s’occupe de tout. Les bibliothèques sont automatiquement mises à jour, ainsi que les dépendances à d’autres bibliothèques.

Composer - Packagist
Composer – Packagist

Composer centralise les différentes mises à jour sur le site www.packagist.org. Il suffit, lorsque la bibliothèque est installée, d’inclure le fichier d’autoload fourni par Composer pour utiliser notre ressource. Installer Composer, c’est installer le fichier composer.phar, qui sera exécuté par la suite.

Installer Composer:

Ces commandes téléchargent l’installateur de Composer et l’exécute. Composer est installé dans le fichier composer.phar. Composer utilise git (logiciel de gestion de versions décentralisé) que l’on installe également. On déplace composer.phar dans le répertoire bin en le renommant composer pour pouvoir utiliser la commande composer partout.

Composer est installé, utilisation de la commande "compose"r
Composer est installé

On en profite mettre à jour Composer lui-même:

Installer un paquet grâce à Composer

On veut, par exemple, utiliser la bibliothèque php-html-parser dans son projet. On va sur le site Packagist, et l’on cherche le package. La recherche renvoie la liste des versions de la bibliothèque et le numéro de la version stable: 1.7.0, ainsi que les dépendances:

Dans la bibliothèque du projet: ~/www/monSite/, on crée un fichier que l’on nomme composer.json:

Comme l’extension le spécifie, c’est un fichier JSON. Ce fichier contient les données structurées qui disent à Composer ce qu’il doit faire. On indique ce que l’on veut inclure: la version 1.7.0 de php-html-parser, et la version 0.1.0 de string-encode, la version minimum de PHP n’est pas nécessaire, mais c’est plus propre. On s’assure que l’on est dans le dossier du projet et on lance:

Installation du package réussie
Installation du package réussie

Composer a créé un répertoire appelé vendor et y a téléchargé php-html-parser et string-encode. Le répertoire contient le fichier autoload.php et les répertoires composer et paquettg. Le répertoire paquettg contient les librairies php-html-parser et string-encode.

Il ne reste plus qu’à inclure le fichier autoload.php dans son fichier PHP qui utilise la librairie:

Ces lignes incluent la bibliothèque et grâce au Namespace indiquent que l’on veut utiliser la classe Dom de PHPHtmlParser.

Ajouter un paquet:

Si l’on veut ajouter une librairie, par exemple la librairie GeoIP, non incluse dans PHP Nginx, on met à jour le fichier composer.json de la façon suivante:

La version stable de GeoIP est donné sur Packagist.

Et pour utiliser GeoIP dans un fichier php:

Note: GeoIP nécessite le téléchargement des bases (Country, City, …) et son accessibilité dans le dossier /usr/local/share/GeoIP).

Et hop, une installation ultra-simplifiée de bibliothèques et dépendances utilisée dans votre projet.

 

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *