
一 、Composer的介绍
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。在 Composer.json 文件中列出你项目所需的依赖包,加上一点简单的命令,Composer 将会自动帮你下载依赖包并设置自动加载。
二、为什么要把包发布到Composer
每次项目需要用到这些代码的时候,总不能走到哪,拷到哪,于是打算上传到github上,Composer这个工具就是用php这个语言写的。
当我们需要依赖包的时候,可以快速的找到并且很方便使用,同时也减少了代码量。发布到统一平台上也可以减少重复造轮子,让我们更加关注于业务代码即可。
三、如何发布?
第一步:登录github 点击Settings

第二步:点击Developer settings

第三步:点击Personal access tokens

第四步:点击Generate new token

第五步:给token起一个描述名字(随意起)

第六步:设置token多久后过期

第七步:设置token拥有的权限

第八步:点击Generate token,生成一个token

第九步:复制token(关掉当前页面,就再也看不到当前token,请确保自己已复制)

第十步:受邀进项目

第十一步:将代码拉到本地并写逻辑代码

第十二步:执行命令行
// <your_token>:包括<>在内的全部字符替换成你的token
// <USERNAME>:包括<>在内的全部字符替换成你的username
// <REPO>:包括<>在内的全部字符替换成你要访问的仓库名称
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
git push origin main
// <tag>: 标签版本号
git tag <tag>
git push origin --tags


第十三步:过几分钟在所需项目里composer update看写的东西在不在 (前提是Composer包已自动同步到Packagist)


第十四步:在发版时联系运维composer update
四、在Packagist上发布Composer包
Packagist 是composer的资源库,也是基于github的代码托管平台。
要让所有人都能用你的包,就必须发布到Packagist上
配置webhook实现每次推送自动同步到Packagist
https://packagist.org/




五、版本号标准定义
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。
引入版本时候~号说明
例子:~2.8.1,那么范围区间是2.8.1 to 2.9.0
例子:~2.8,那么范围区间就变成 2.8 to 3.0
~号:代表一个区间,0–9
引入版本时候^号说明
例子:^2.8,那么代表是,2.8 到 3.0,也就是说最大得版本号+1的点0版本,也就是2.8的2+1,.8变成.0
例子:^号也可以理解成为安装最新版本
六、 Composer 的使用
要使用 Composer,我们需要先在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。
文件格式如下:
{
"require": {
"monolog/monolog": "1.2.*"
}
}
以上文件说明我们需要下载从 1.2 开始的任何版本的 monolog。
接下来只要运行以下命令即可安装依赖包:
composer install
require 命令
除了使用 install 命令外,我们也可以使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息:
$ composer require monolog/monolog
Composer 会先找到合适的版本,然后更新composer.json文件
update 命令
update 命令用于更新项目里所有的包,或者指定的某些包:
# 更新所有依赖
$ composer update
# 更新指定的包
$ composer update monolog/monolog
# 更新指定的多个包
$ composer update monolog/monolog symfony/dependency-injection
# 还可以通过通配符匹配包
$ composer update monolog/monolog symfony/*
需要注意的时,包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本
search 命令
search 命令可以搜索包:
$ composer search monolog
该命令会输出包及其描述信息,如果只想输出包名可以使用 –only-name 参数
$ composer search --only-name monolog
show 命令
show 命令可以列出当前项目使用到包的信息:
# 列出所有已经安装的包
$ composer show
# 可以通过通配符进行筛选
$ composer show monolog/*
# 显示具体某个包的信息
$ composer show monolog/monolog
七、参考文献
Composer中文文档
发布自己的Composer包到Packagist教程
版本号定义和composer依赖版本符号~,^






![[git技巧]Windows下使用Cygwin64(MSYS)安装git配合TortoiseGit完成版本库的管理 - 鹿快](https://img.lukuai.com/blogimg/20251027/1de065eb16e6472f911ec08e1a187b18.jpg)











暂无评论内容