PHP Composer Guide
Essential Commands
| Command | Description |
|---|---|
composer init | Initialize a new composer.json |
composer install | Install dependencies from composer.lock |
composer update | Update all dependencies |
composer require vendor/pkg | Add a new dependency |
composer require --dev vendor/pkg | Add dev dependency |
composer remove vendor/pkg | Remove a dependency |
composer dump-autoload | Regenerate autoload files |
composer show | List installed packages |
composer outdated | Show outdated packages |
composer validate | Validate composer.json |
composer.json Example
{
"name": "vendor/project",
"description": "My PHP project",
"type": "project",
"require": {
"php": ">=8.1",
"laravel/framework": "^10.0",
"guzzlehttp/guzzle": "^7.5"
},
"require-dev": {
"phpunit/phpunit": "^10.0",
"fakerphp/faker": "^1.21"
},
"autoload": {
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
}
}
Version Constraints
| Constraint | Meaning |
|---|---|
| ^1.2.3 | >=1.2.3 <2.0.0 |
| ~1.2.3 | >=1.2.3 <1.3.0 |
| 1.2.* | >=1.2.0 <1.3.0 |
| >=1.0 <2.0 | Explicit range |
| dev-main | Development branch |