Composer知识点

Composer知识点

一 、Composer的介绍

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。在 Composer.json 文件中列出你项目所需的依赖包,加上一点简单的命令,Composer 将会自动帮你下载依赖包并设置自动加载。

二、为什么要把包发布到Composer

每次项目需要用到这些代码的时候,总不能走到哪,拷到哪,于是打算上传到github上,Composer这个工具就是用php这个语言写的。

当我们需要依赖包的时候,可以快速的找到并且很方便使用,同时也减少了代码量。发布到统一平台上也可以减少重复造轮子,让我们更加关注于业务代码即可。

三、如何发布?

第一步:登录github 点击Settings

Composer知识点

第二步:点击Developer settings

Composer知识点

第三步:点击Personal access tokens

Composer知识点

第四步:点击Generate new token

Composer知识点

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

Composer知识点

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

Composer知识点

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

Composer知识点

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

Composer知识点

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

Composer知识点

第十步:受邀进项目

Composer知识点

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

Composer知识点

第十二步:执行命令行

// <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知识点

Composer知识点

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

Composer知识点

Composer知识点

第十四步:在发版时联系运维composer update

四、在Packagist上发布Composer包

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

Composer知识点

Composer知识点

Composer知识点

Composer知识点

五、版本号标准定义

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:当你做了不兼容的 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依赖版本符号~,^

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容