composer学习

Posted Wss0130

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了composer学习相关的知识,希望对你有一定的参考价值。

简介

Composer 是 php 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。

Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。

Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl。

Composer 可运行在 Windows 、 Linux 以及 OSX 平台上。

常用命令

install

安装composer.json中的依赖包,composer.json文件如下:


	"require": 
    	"monolog/monolog": "1.2.*"
	

require

等同于composer.json中添加require依赖包后使用install命令,如:composer require monolog/monolog
composer会自动找到对应的版本号

update

更新所有的/指定的单个或者多个/通过匹配符匹配到的依赖包,如:composer update monolog/monolog
⚠️注意:包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本。关于版本约束请看后面的介绍。

remove

用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除

search

搜索包,输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数:

composer search --only-name monolog

show

列出当前项目使用到包的信息:

#列出所有已经安装的包
$ composer show

#可以通过通配符进行筛选
$ composer show monolog/*

#显示具体某个包的信息
$ composer show monolog/monolog

clear-cache

清除缓存

config

更改扩展源,如:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

create-project

创建应用,如:

composer create-project laravel/laravel Laravel --prefer-dist "5.1.*"

dump-autoload

自动更新

基本约束

精确版本

Composer 安装时指定具体版本,例如:1.0.2,指定 1.0.2 版本。

范围

通过使用比较操作符来指定包的范围。这些操作符包括:>,>=,<,<=,!=。

可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。 实例:

=1.0
=1.0 <2.0
=1.0 <1.1 || >=1.2

也可以通过使用连字符 - 来指定版本范围。连字符的左边表明了 >= 的版本,如果右边的版本不是完整的版本号,则会被使用通配符进行补全。例如1.0 - 2.0等同于>=1.0.0 <2.1(2.0相当于2.0.*),而1.0.0 - 2.1.0则等同于>=1.0.0 <=2.1.0。

通配符 *

可以使用通配符来设置版本。1.0.相当于>=1.0 <1.1。
例子:1.0.

波浪号 ~

如:~1.2相当于>=1.2 <2.0.0,而~1.2.3相当于>=1.2.3 <1.3.0。对于使用Semantic Versioning作为版本号标准的项目来说,这种版本约束方式很实用。例如:~1.2定义了最小的小版本号,然后你可以升级2.0以下的任何版本而不会出问题,因为按照Semantic Versioning的版本定义,小版本的升级不应该有兼容性的问题。简单来说,~定义了最小的版本,并且允许版本的最后一位版本号进行升级(没懂得话,请再看一遍前面的例子)。
例子:~1.2

需要注意的是,如果~作用在主版本号上,例如~1,按照上面的说法,Composer可以安装版本1以后的主版本,但是事实上是~1会被当作~1.0对待,只能增加小版本,不能增加主版本。

折音号 ^

^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 <2.0.0,因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3会被当作>=0.3.0 <0.4.0对待。
例子:^1.2.3

参考:https://www.runoob.com/w3cnote/composer-install-and-usage.html

以上是关于composer学习的主要内容,如果未能解决你的问题,请参考以下文章

youcans 的 OpenCV 例程200篇131. 形态学重建之竖线字符提取

R语言ggplot2可视化在图像中添加竖线并在竖线的两边添加文本标签并对齐实战:添加竖线添加竖线两边的对齐文本标签(Align geom_text with geom_vline )

IDEA中这条竖线颜色怎么调?

python使用matplotlib可视化线图(line plot)在可视化图像中的指定位置添加竖线自定义竖线的颜色自定义竖线的线型(add vertical line)

python使用matplotlib可视化线图(line plot)在可视化图像中的指定位置指定范围添加竖线自定义竖线的颜色自定义竖线的线型(add vertical line)

Docker--compose学习