首页 > 开发 > PHP > 正文

PHP创建自己的Composer包方法

2024-05-04 22:43:42
字体:
来源:转载
供稿:网友

仓库(Repository)

仓库是软件开发中常见的概念,与源(sources)意义相近,主要指托管资源的场所。许多软件都有仓库的概念,例如yum、npm、maven、Git,以及本文的主角Composer。仓库以中心化的方式托管资源,为软件的正常工作提供保障。

Packagist 是Composer默认的中央仓库,PHP社区的绝大部分Composer包都托管在该网站上。Packagist提供公开的、免费的托管服务,任何人均可注册、自由发布包,无需审核。Packagist由Private Packagist提供托管和维护,两者的主要区别为:Packagist的官网是https://packagist.org,托管...,托管的代码无需开源,仓库服务器可位于内网,提供更快、更高效的包代码托管服务。

可以配置多个仓库,Composer会自动找出最适合项目的依赖包。搜索包的流程如下:首先检查当前项目是否配置额外仓库,有则优先在额外仓库中检索;无结果向上到全局配置中的额外仓库检索;未配置或搜索无结果的情况下,回退到默认的Packagist中央仓库检索。除非禁用了默认的仓库,Packagist中的包总会被检索到。因为这个原因,Composer推荐PHP开发人员将包托管在Packagist网站上,方便他人检索和引用。

配置仓库

有两种方法对Composer的仓库进行配置:命令行和编辑配置文件。composer config是Composer配置的命令,可以用来配置项目或全局的仓库信息,例如:

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

第二种方法是编辑配置文件。编辑项目的composer.json或~/.config/composer/config.json,增加repositories一项配置,例如:

"repositories": {  "packagist": {    "type": "composer",    "url": "https://packagist.phpcomposer.com"  }}

以上配置使用 Packagist中国全量镜像 网站作为默认中央仓库。在大陆地区部署PHP项目,建议使用该仓库目录,能加速依赖包的下载。

仓库配置最重要的两个参数是type和url。type指明仓库的类型,url则指向具体网址。根据仓库的位置,常用的type可选值有:

    composer,Composer包托管仓库,例如 Packagist中国全量镜像; vcs,版本控制管理系统,例如Github上的项目地址; pear,PEAR上的包; package,位于互联网上包; artifact,代码zip包合集; path,指向代码具体位置。

互联网上的仓库,type的常见值是composer和vcs;本地的项目,常见值是artifact和path。具体用例,可参考Composer官方文档。

掌握了仓库的概念和其配置,接下来我们创建自己的包。

创建自己的Composer包

创建一个Composer包只需两步:1. 填写包描述信息;2. 写代码。本文创建一个hello-composer的包来演示创建过程。该包功能只有一个:输出字符串“Hello, Composer!”。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表