composer.jsonMétadonnées du projet
| Champ | Rôle |
|---|---|
name |
Identifiant unique du package (ex: vendor/nom-du-projet). |
type |
Type de package : project (site web), library (bibliothèque). |
description |
Description du projet. |
license |
Licence (ex: MIT, GPL-3.0, CC BY, ...). |
Dépendances
| Section | Rôle |
|---|---|
require |
Liste des bibliothèques nécessaires pour le projet. |
require-dev |
Liste des bibliothèques uniquement pour le développement (ex: tests, outils). |
Exemple :
"require": {
"php": "^8.1", // Version minimale de PHP
"symfony/console": "^6.0" // Bibliothèque Symfony Console
},
"require-dev": {
"phpunit/phpunit": "^9.5" // PHPUnit pour les tests
}
Autoloading
| Type | Rôle |
|---|---|
psr-4 |
Standard recommandé pour mapper les namespaces aux dossiers. |
classmap |
Charge automatiquement les classes depuis un dossier (moins flexible). |
Exemple :
"autoload": {
"psr-4": {
"App\\": "src/", // Namespace "App\" → dossier "src/"
"Tests\\": "tests/" // Namespace "Tests\" → dossier "tests/"
}
}