版本约束符号
{
"require": {
"php": "^8.0", // >=8.0.0 <9.0.0
"monolog/monolog": "~2.0", // >=2.0.0 <2.1.0
"guzzlehttp/guzzle": "7.*", // >=7.0.0 <8.0.0
"symfony/console": "5.4.x-dev" // 开发分支
}
}镜像加速
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/脚本事件
在 composer.json 中定义钩子:
{
"scripts": {
"post-install-cmd": [
"php artisan cache:clear"
],
"post-update-cmd": [
"php artisan migrate"
],
"test": [
"phpunit"
]
}
}执行:composer test
优化自动加载
生产环境使用:
composer dump-autoload --optimize --classmap-authoritative生成优化的类映射,减少文件查找开销。
包管理
# 查看过时的包
composer outdated
# 显示依赖树
composer show --tree
# 创建项目(代替 git clone)
composer create-project laravel/laravel my-app私有仓库
{
"repositories": [
{
"type": "vcs",
"url": "git@github.com:mycompany/private-package.git"
}
]
}Composer 是现代 PHP 开发的基石,熟练掌握能极大提升工作效率。
