PHP开发免不了要使用Composer,使用Composer有着明显的好处。一是可以很好的解决第三方包的相互依赖,二是可以方便进行代码的重用。

那如何制作自己的Composer包呢?

制作Composer包有几个步骤:

1、以git为例,先创建一个仓库,GitHub、Gitlab、码云都可以。甚至,使用svn也是可以的。

2、将仓库clone到本地,如下:

git clone 仓库地址

3、进入本地目录,然后执行初始化命令,如下:

在此过程中,命令行会提示你输入一些配置信息,以自动生成如下composer.json文件:

以上步骤操作完毕后,下面你需要在composer.json文件的同级目录,创建src目录。此目录将用来保存你的逻辑代码。

src目录创建完后,你需要在刚才的composer.json文件中加入一段:

这一段代码将确保使用Composer安装你的Composer包时,你的代码可以被自动加载到项目中。

因为按照psr-4自动加载的规则要求,命名空间的地址要与实际目录保持一致,因此,这里administratorest对应的就是你的实际目录层级和名称,也即是administratorest对应的是administrator/test/src目录。

4、待src目录中的主体逻辑编写完毕后,你可以提交这些代码到你的仓库。然后,在composer镜像网站提交你的仓库地址。

提交成功之后,在你的包列表中会出现如下的composer包信息。

至此,一个自定义的包就制作好了。

需要说明的是,这里我使用的composer官方镜像网站,但实际上,我们也可以不使用composer官方镜像网站。比如,直接使用git仓库,作为包的代码来源。

以上repositories就是用来指定代码来源,当type为composer就表示使用composer镜像网站(可以是官方的,也可以是非官方的),当type为vcs就表示直接使用代码仓库(可以是git仓库,也可以是svn仓库),具体的大家可以在这里查看:composer.json 架构 | Composer 中文文档 | Composer 中文网

使用vcs,虽然没有问题,而且也很安全,但是每引入一个自制包,你都要在repositories中增加一个地址项,这样太麻烦了。

那有没有一个方法可以让自制的composer包,能像官方仓库里的composer包一样使用呢?答,有的。在下一期的文章中,我将介绍如果搭建自己的composer包仓库。

自己本地搭建svn仓库_「PHP编程」如何制作自己的Composer包?相关推荐

  1. 自己本地搭建svn仓库_搭建svn仓库

    预期目的: 1.仓库放在 /var/svn/ 目录下,并且仓库名为 project 2.创建用户组lsgogroup,该组下添加两个成员lsgoweb1.lsgoweb2,密码直接用用户名,两用户可以 ...

  2. composer 安装dev包_「PHP编程」如何搭建私有Composer包仓库?

    在前一篇文章「PHP编程」如何制作自己的Composer包?中,我们已经介绍了如何制作自己的 composer 包,以及如何使用 composer 安装自己制作的 composer 包.不过,这其中有 ...

  3. docker php composer 使用_「PHP编程」如何使用Docker制作自己的LNMP/LAMP镜像

    LNMP和LAMP是PHP常用的两种运行环境,L代表Linux,N代表Nginx,A代表Apache,M代表Mysql,P代表PHP.在文章<「PHP编程」安装开发环境太烦?告诉你几个简单方法, ...

  4. confluence 制作流程图_「每周开方」 高效制作流程图、思维导图

    提升工作效率,并且可以自成一套职场PPT的导图.流程图! 这周的「每周开方」公子要分享强大的"思维导图"及"流程图"制作网站!在职场中导图的重要性应该不需要公子 ...

  5. windows 本地搭建git仓库_搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  6. git 上传项目到linux仓库_「成都校区」Git使用快速入门

    Git使用快速入门 1.在Linux上安装Git 输入git命令,查询是否安装了git (1)如果是Debian或Ubuntu Linux系统,使用如下命令进行安装: apt-get install ...

  7. java锁的有哪些_「并发编程」Java锁分类和特点有哪些

    公平锁.非公平锁:公平锁指多个线程按照申请锁的顺序来获取锁,非公平锁就是没有顺序完全随机,所以能会造成优先级反转或者饥饿现象:synchronized 就是非公平锁,ReentrantLock(使用 ...

  8. vc 获取月份的天数_「青少年编程」课程:输入年份与月份,得到该月有多少天...

    题目:输入年份与月份,说出该月共有多少天. 思路: 1.3.5.7.8.10.12每个月都有31天: 4.6.9.11每个月都有30天: 2月比较特殊,一般都是28天,遇到闰年(公历里:能被400整除 ...

  9. python闹钟界面程序_「Python编程」自由管理时间之编写一个小闹钟起床

    Python_时间管理 代码中的时间时间戳(Timestamp):1473525444 时间字符串(Format String):2015-02-14 11:25:11 结构化时间:(struct_t ...

最新文章

  1. 一文掌握常用的机器学习模型(文末福利)
  2. SpringCloud中Hystrix容错保护原理及配置,看它就够了!
  3. Python小知识点(5)--面向对象部分
  4. 在ubuntu20.10上搭建SVN Server
  5. Clojure 学习
  6. python 离散数据时间序列图_每个人都学的会的数据分析
  7. linux的内核和发行版本号,【编测编学】linux内核及发行版本相关知识
  8. 外媒:Airbnb为2020年直接上市作准备
  9. 【渝粤教育】国家开放大学2019年春季 3818-22T燃气工程施工 参考试题
  10. 解决使用PowerShell执行命令出现“因为在此系统上禁止运行脚本”的问题
  11. paip.索引优化---sql distict—order by 法
  12. linux文件夹同步-文件对比工具,FreeFileSync,文件/文件夹比较和自动同步软件
  13. 3dsMax2018注册问题
  14. 漫游配置文件修改为强制配置文件|ntuser.dat ntuser.man
  15. 爬虫之路——DAY2
  16. Drupal主题制作流程
  17. molecule html5 游戏,精选超炫html5网站收集
  18. NIVIDIA 硬解码学习2
  19. import clip时Cannot re-initialize CUDA in forked subprocess
  20. php获取手机号码6,php随机生成姓名,手机号,6位数

热门文章

  1. VMware虚拟机运行虚拟系统时显示“内部错误”的解决方法
  2. makefile:5: *** missing separator. Stop.
  3. 对比学习在NLP和多模态领域的应用
  4. dll文件用什么语言编写_为什么Unix不用功能更强大的C++而是用C编写
  5. java anotherstring_徐葳【2019版最新】40小时掌握Java语言之06String类
  6. 3-java学习笔记
  7. Leetcode每日一题:203.remove-linked-list-elements(移除链表元素)
  8. ThinkPHP的RBAC权限控制
  9. android 键盘遮盖输入框_Android软键盘遮住输入框的解决方法终极适配
  10. feign传递多个对象_面向对象