PHP Composer Guide

Essential Commands

CommandDescription
composer initInitialize a new composer.json
composer installInstall dependencies from composer.lock
composer updateUpdate all dependencies
composer require vendor/pkgAdd a new dependency
composer require --dev vendor/pkgAdd dev dependency
composer remove vendor/pkgRemove a dependency
composer dump-autoloadRegenerate autoload files
composer showList installed packages
composer outdatedShow outdated packages
composer validateValidate 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

ConstraintMeaning
^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.0Explicit range
dev-mainDevelopment branch