Une dépendance est un code tiers utilisé par votre application. Par exemple Zend Framework 3 est une dépendance pour votre site.
Dans Composer, toute bibliothèque est appelée un package. Tous les package installables par Composer sont déclarés sur le site Packagist.org. Avec Composer, vous pouvez identifier les packages dont votre application a besoin, les télécharger et les installer automatiquement.
Les dépendances de l'application skeleton sont déclarées dans le fichier APP_DIR/composer.json` (voir ci-dessous) :
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for Zend Framework zend-mvc applications",
"type": "project",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"mvc",
"zf2"
],
"homepage": "http://framework.zend.com/",
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": "^5.6 || ^7.0",
"zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
"zendframework/zend-mvc": "^3.0.1",
"zfcampus/zf-development-mode": "^3.0",
"zendframework/zend-mvc-form": "^1.0",
"zendframework/zend-mvc-plugins": "^1.0.1",
"zendframework/zend-session": "^2.7.1"
},
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/"
}
},
"autoload-dev": {
"psr-4": {
"ApplicationTest\\": "module/Application/test/"
}
},
"extra": [],
"scripts": {
"development-disable": "zf-development-mode disable",
"development-enable": "zf-development-mode enable",
"development-status": "zf-development-mode status",
"serve": "php -S 0.0.0.0:8080 -t public/ public/index.php"
}
}
C'est quoi du JSON?
JSON (JavaScript Object Notation), est un format de fichier utilisé pour la représenter de facon lisible par l'homme des structures simples et de tableaux associatifs imbriqués. Bien que JSON soit issu du monde JavaScript, il est utilisé en PHP et dans d'autres langues car il est pratique pour stocker des données de configuration.
Dans ce fichier, nous voyons quelques informations de base sur notre application (son nom, sa description, sa licence,
ses mots-clés et sa page d'accueil).
Vous modifierez ces informations par la suite en fonction de vos futurs projets.
Ces informations sont facultatives, vous pouvez donc même les supprimer en toute sécurité si vous ne prévoyez pas de
publier votre application dans le catalogue Packagist
.
Ce qui est nous intéresse maintenant, c'est la clé require
. Elle contient les déclarations des dépendances de notre
application.
Nous voyons que nous avons besoin de la version 5.6 ou supérieur de PHP et de plusieurs composants Zend Framework,
comme zend-mvc
, zend-mvc-form
, etc.
Les informations contenues dans le fichier composer.json
suffisent à localiser les dépendances, à les télécharger et à
les installer dans le sous-répertoire vendor
.
Si à tout moment vous déterminez que vous devez installer une autre dépendance, vous pouvez le faire en éditant
le composer.json
et en ajoutant votre dépendance, puis en tapant les commandes suivantes à partir de votre invite de commande :
php composer.phar self-update
php composer.phar install
Les commandes ci-dessus mettront à jour Composer vers sa dernière version disponible, puis installeront vos dépendances. Petite précision, Composer n'installe pas PHP pour vous, il s'assure simplement que PHP a une version appropriée, si ce n'est pas le cas, il vous avertira.
Si vous regardez dans le dossier vendor
, vous verrez qu'il contient beaucoup de fichiers.
Les fichiers Zend Framework 3 sont situés dans le répertoire APP_DIR/vendor/zendframework/
(figure 2.2).
Dans d'autres frameworks, une autre méthode (conventionnelle) de dépendance est utilisée. Il vous suffit de télécharger la bibliothèque de dépendances sous forme d'archive, de la décompacter et de la placer quelque part dans la structure de votre application (généralement dans le dossier
vendor
). Cette approche a été utilisée dans la première version de Zend Framework. Mais, dans Zend Framework 3, il est recommandé d'installer ses dépendances avec Composer.