PHP如何制作自己的Composer包?

php开发免不了要使用Composer,使用Composer有着明显的好处 。一是可以很好的解决第三方包的相互依赖,二是可以方便进行代码的重用 。
那如何制作自己的Composer包呢?
制作Composer包有几个步骤:
【PHP如何制作自己的Composer包?】1、以git为例,先创建一个仓库,GitHub、Gitlab、码云都可以 。甚至,使用svn也是可以的 。

PHP如何制作自己的Composer包?

文章插图
 
2、将仓库clone到本地,如下:
git clone 仓库地址3、进入本地目录,然后执行初始化命令,如下:
PHP如何制作自己的Composer包?

文章插图
 
在此过程中,命令行会提示你输入一些配置信息,以自动生成如下composer.json文件:
PHP如何制作自己的Composer包?

文章插图
 
以上步骤操作完毕后,下面你需要在composer.json文件的同级目录,创建src目录 。此目录将用来保存你的逻辑代码 。
src目录创建完后,你需要在刚才的composer.json文件中加入一段:
PHP如何制作自己的Composer包?

文章插图
 
这一段代码将确保使用Composer安装你的Composer包时,你的代码可以被自动加载到项目中 。
PHP如何制作自己的Composer包?

文章插图
 
因为按照psr-4自动加载的规则要求,命名空间的地址要与实际目录保持一致,因此,这里administrator\test\对应的就是你的实际目录层级和名称,也即是administrator\test\对应的是administrator/test/src目录 。
4、待src目录中的主体逻辑编写完毕后,你可以提交这些代码到你的仓库 。然后,在composer镜像网站提交你的仓库地址 。
PHP如何制作自己的Composer包?

文章插图
 
提交成功之后,在你的包列表中会出现如下的composer包信息 。
PHP如何制作自己的Composer包?

文章插图
 
至此,一个自定义的包就制作好了 。
需要说明的是,这里我使用的composer官方镜像网站,但实际上,我们也可以不使用composer官方镜像网站 。比如,直接使用git仓库,作为包的代码来源 。
PHP如何制作自己的Composer包?

文章插图
 
以上repositories就是用来指定代码来源,当type为composer就表示使用composer镜像网站(可以是官方的,也可以是非官方的),当type为vcs就表示直接使用代码仓库(可以是git仓库,也可以是svn仓库),具体的大家可以在这里查看:composer.json 架构 | Composer 中文文档 | Composer 中文网
使用vcs,虽然没有问题,而且也很安全,但是每引入一个自制包,你都要在repositories中增加一个地址项,这样太麻烦了 。
那有没有一个方法可以让自制的composer包,能像官方仓库里的composer包一样使用呢?答,有的 。在下一期的文章中,我将介绍如果搭建自己的composer包仓库 。




    推荐阅读