扩展包源仓库的概念

下面由composer教程栏目给大家介绍说明包和仓库的概念,希望对需要的朋友有所帮助!

扩展包源仓库的概念

概念

在我们了解已存在的不同类型的仓库之前,我们需要了解 Composer 构建的一些基本概念。

Composer 是一个依赖管理器。 它能够将包安装在本地。一个包的本质是一个包括了一系列源文件的目录。一般的,一个包中的文件主要是一堆 PHP 代码文件,但理论上一个包里面可以包括任意类型的文件,其中一个文件就是包中用于描述包的名称和版本信息的文件。名称和版本是包的唯一标识。

事实上,Composer 的内部认为每一个版本都是独立的包,虽然对于使用 Composer 管理依赖时这并不重要,但对于你想要改变包中的一些东西时或做一些自定义选项时,这些内容则十分重要。

此外,除了名称和版本信息,还有一些其他用用的元数据。其中与安装包时最紧密相关的信息就是包来源的定义,这个是用于告知从何处去取得包的实际内容。来源分两种:dist 和 source。

Dist: dist 来源的包是一个打包后的分发版。通常是一个已发布的稳定版本。

Source: source 来源的包往往用于开发。通常是一个源代码仓库,例如 git。当你想要修改下载的包,你可以选择使用该来源。

包可以提供任意一种来源选项,或者二者皆有。最终选定哪一个取决于某一些因素,例如用户提供的指定选项、包的稳定性标识。

仓库

仓库是包的来源。它提供了一个包和版本的列表。Composer 通过查阅你配置中定义的所有仓库源里去寻找你项目中所需要的包并将其引入。

Composer 将 Packagist 作为全局默认查找的仓库。当然你也可以通过在你的项目配置文件 —— composer.json 中添加额外的仓库源配置。

所有对于仓库源的配置信息仅在源包( root package )中有效,而该包中所依赖的包内对于仓库源的配置信息则不会再被 Composer 作为查找包的目标仓库的依据。你可以阅读 FAQ entry 了解更多具体原因。

以上就是扩展包源仓库的概念的详细内容,更多请关注其它相关文章!