composer
TLDR
Install dependencies
SYNOPSIS
composer command [options]
DESCRIPTION
composer is the dependency manager for PHP. It manages project dependencies, autoloading, and provides tools for package installation and version management through Packagist and other repositories.
The tool is essential for modern PHP development and used by virtually all PHP frameworks.
PARAMETERS
install
Install dependencies from composer.jsonrequire package
Add package to dependenciesupdate [packages]
Update dependenciesremove package
Remove packagecreate-project package dir
Create new projectshow [package]
Show packagessearch query
Search packagesdump-autoload
Regenerate autoloaderself-update
Update Composer itself
COMPOSER.JSON
"name": "vendor/project",
"require": {
"php": "^8.1",
"monolog/monolog": "^3.0"
},
"require-dev": {
"phpunit/phpunit": "^10.0"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
WORKFLOW
composer init
# Add dependency
composer require guzzlehttp/guzzle
# Add dev dependency
composer require --dev phpunit/phpunit
# Install all dependencies
composer install
# Update specific package
composer update monolog/monolog
# Update all
composer update
# Show why package is installed
composer why vendor/package
# Check for security issues
composer audit
VERSION CONSTRAINTS
- ^1.2.3 - >=1.2.3 <2.0.0 (recommended)
- ~1.2.3 - >=1.2.3 <1.3.0
- 1.2.* - >=1.2.0 <1.3.0
- >=1.2.3 - 1.2.3 or higher
- dev-master - Latest from master branch
FEATURES
- Dependency resolution
- Autoloading (PSR-4, PSR-0, classmap)
- Scripts and hooks
- Platform requirements
- Private repositories
- Security auditing
- Lock file (composer.lock)
CAVEATS
First install can be slow. Memory-intensive for large projects. Network required for updates. composer.lock should be committed (for applications). Version conflicts can be frustrating. Some packages abandoned or poorly maintained.
HISTORY
Composer was created by Nils Adermann and Jordi Boggiano in 2011, inspired by npm and bundler, becoming PHP's standard dependency manager by 2013.


