{
"require": {
"vendor/package": ">=1.2.0 <2.0.0 || >=3.0.0",
"another/package": "~1.3.2 || ^2.4.1"
}
}{
"config": {
"minimum-stability": "beta",
"prefer-stable": true
},
"require": {
"vendor/package": "2.0.0-beta.2@beta"
}
}@beta强制安装预发布版本minimum-stability控制默认行为,prefer-stable优先稳定版{
"require": {
"legacy/package": "1.0.*@dev",
"critical/lib": "1.2.3 as 1.2"
}
}@dev后缀允许安装开发分支as关键字实现版本覆盖{
"repositories": [
{
"type": "composer",
"url": "https://private-repo.com"
},
{
"type": "vcs",
"url": "git@github.com:org/private-pkg.git"
},
{
"type": "path",
"url": "../local-dev-pkg"
}
]
}auth.json或环境变量存储凭证{
"require": {
"private/pkg": "dev-master as 2.0.0",
"public/pkg": ">=3.0.0"
},
"conflict": {
"public/pkg": "<3.0.0"
}
}as将开发版本映射为正式版本号composer config repositories.local-pkg path ../local-pkg
composer require local-pkg:dev-featuredev-feature映射到具体分支{
"autoload": {
"psr-4": {
"App\\": "src/",
"Legacy\\": "lib/",
"Test\\": "tests/"
},
"exclude-from-classmap": ["src/Deprecated/"]
}
}exclude-from-classmap忽略指定路径# 生成优化后的自动加载文件
composer dump-autoload -o --apcu
# 生产环境部署
composer install --no-dev --optimize-autoloader--optimize-autoloader生成紧凑的类映射表{
"autoload": {
"files": ["helpers.php"],
"classmap": ["legacy-code/"],
"exclude-files": ["debug.php"]
}
}files加载非类库文件classmap处理非PSR-4结构代码exclude-files忽略特定文件{
"require": {
"laravel/framework": "^8.0",
"guzzlehttp/guzzle": "^7.0"
},
"config": {
"platform": {
"php": "7.4.30"
}
}
}platform配置虚拟PHP版本composer.lock确保环境一致性# 允许主版本更新
composer update vendor/package --with-dependencies
# 强制更新锁定文件
composer update --lock--with-dependencies控制依赖传播--lock参数重建composer.lock; php.ini 配置优化
memory_limit = 2G
default_socket_timeout = 600# Composer 命令优化
composer install --prefer-dist --no-interaction --no-progress本指南结合Composer 2.x最新特性,提供从基础到高级的完整依赖管理方案,涵盖版本约束、私有仓库、自动加载等核心模块,助力构建高效稳定的PHP应用架构。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。