Composer est un outil de gestion PHP extrêmement populaire pour les dépendances, utilisé pour faciliter l'installation et les mises à jour des projets. Il vérifie également les autres packages dont un projet a besoin et les obtient automatiquement pour vous, avec la bonne version.
Dans ce document, nous allons installer et commencer à utiliser Composer sur un Vultr Ubuntu 14.04 VPS.
Exigences
- Un Vultr Ubuntu 14.04 VPS.
- Un utilisateur régulier ayant
Sudo
accès à ce VPS.
Installation
Installation de dépendances
Tout d'abord, nous devons nous assurer que notre VPS a toutes les exigences de Composer correctement installées et fonctionnent.
Mettez à jour la liste des packages.
sudo apt-get update
Ensuite, installez réellement les exigences de Composer. Vous en aurez besoin curl
pour le téléchargement, ainsi que php5-cli
pour son installation et son utilisation. git
est également utilisé par Composer pour les téléchargements d'exigences de projet.
Installez la configuration requise.
sudo apt-get install curl php5-cli git
Télécharger et installer
L'installation de Composer est très simple.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Cela télécharge et installe Composer en tant que commande globale, appelée composer
, située dans /usr/local/bin
. Vous obtiendrez cette sortie.
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Exécutez ce qui suit pour tester l'installation.
composer
La sortie sera la suivante.
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00
Usage:
command [options] [arguments]
Usage
Fichier JSON
Pour utiliser Composer, vous avez besoin d'un fichier appelé composer.json
pour indiquer à Composer les exigences de votre projet et la version de ces exigences à installer. Ne créez pas cela manuellement pour éviter de faire quelque chose de mal - Composer crée le fichier pour vous lorsque vous ajoutez des dépendances. Des dépendances supplémentaires sont également ajoutées automatiquement.
Exemple d'utilisation du compositeur
Pour utiliser Composer pour les installations de dépendances:
- Identifiez la bibliothèque requise pour l'application.
- Trouvez une bonne bibliothèque open-source sur <Packagist.org>, le référentiel de Composer.
- Choisissez le forfait que vous souhaitez.
- Utilisez
composer require
pour inclure et installer la dépendance.
Initialisation de Slugit
Nous allons maintenant passer par ce processus avec un exemple d'application simple, qui prendra une phrase et en fera une chaîne conviviale, appelée slug. Ceci est fréquemment utilisé pour convertir les noms de page en URL, pour faciliter la génération d'URL et de chemins. Nous allons commencer par créer un dossier pour l'application, appelé slugit
.
mkdir ~/slugit
cd ~/slugit
Recherche sur Packagist
Nous allons maintenant continuer packagist.org
et trouver un paquet pour aider à générer des slugs. La recherche slug
sur Packagist devrait afficher certains de ces packages.
easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type
Nous devons trouver un convertisseur de chaîne en slug, donc ça a l' cocur/slugify
air bien, avec beaucoup d'installations et d'étoiles.
Exiger un package
Après avoir choisi le package, nous courons composer require
pour l'inclure en tant que dépendance, le générer composer.json
et l'installer.
composer require cocur/slugify
Comme le montre la sortie générée, Composer a sélectionné la version de package la plus récente et l'a utilisée. En vérifiant ~/slugit
, vous devriez voir 2 fichiers composer.lock
et composer.json
, plus un dossier nommé vendor
.
composer.lock
est utilisé pour stocker des informations sur les versions des packages et les garder identiques.
Le vendor
dossier est utilisé pour installer les dépendances. Ne validez pas ce dossier dans un référentiel Git ou GitHub.
Si un projet que vous avez téléchargé contient déjà composer.json
, utilisez composer install
pour télécharger ses dépendances.
Comprendre les contraintes de version
Si vous vérifiez ce qui composer.json
inclut, vous devriez voir quelque chose de similaire à ce bloc.
{
"require": {
"cocur/slugify": "^1.2"
}
}
Composer a de nombreux formats et contraintes différents pour définir la version d'un package, afin de permettre une flexibilité associée à la stabilité. ^
avant qu'un numéro de version ne fasse de cette version le minimum et autorise toutes les versions ci-dessous 2.0
.
Vous ne devriez normalement pas avoir besoin de modifier les contraintes de version, mais si vous le faites, consultez la documentation officielle de Composer pour plus d'informations et des directives sur la façon dont tout cela fonctionne.
Le script de chargement automatique
Composer fournit un script de chargement automatique, ce qui facilite grandement l'utilisation de vos dépendances et espaces de noms.
Il suffit d'inclure vendor/autoload.php
dans votre PHP avant toute instanciation de classe.
Revenons à notre slugit
exemple. Créons un script de test, appelé example.php
, en utilisant cocur/slugify
.
vim example.php
Mettez ce qui suit dans example.php
.
<?php
require __DIR__ . '/vendor/autoload.php';
use Cocur\Slugify\Slugify;
$slugify = new Slugify();
echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');
Exécutez le script.
php example.php
Il affichera le texte suivant:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Mise à jour des dépendances du projet
Pour mettre à jour les dépendances du projet.
composer update
Si des mises à jour sont trouvées et compatibles avec la contrainte indiquée dans composer.json
, elles remplaceront la version et la mise à jour précédentes composer.lock
.
Pour mettre à jour une ou plusieurs bibliothèques spécifiques.
composer update vendor1/package1 vendor2/package2
Conclusion
Dans ce didacticiel, nous sommes passés par l'installation, la configuration et un exemple d'utilisation de Composer pour la gestion des dépendances des applications PHP.