php私有仓库,使用 SVN 搭建 Composer 私有仓库

背景

在食用本博文前,可以先去熟悉 composer 文档中的 [2.5. composer.json 完全解析],然后再把 2.6. 扩展包源仓库看完,这样下面的内容你将轻易理解为何这样做,不看也没事,后面再补上,我懂有时候只需要马上能搞一个跑的通的环境!(本文注重操作,没有任何原理解释)

准备工作

SVN 可用的仓库,(可以下载一个 VISUALSVN SERVER,先在本地练手)

安装 TortoiseSVN

安装 Composer

开始

第一步:创建仓库

f2f34c5ed6e923464b1da59df3373671.png

5a62985f34b60604ae8f3413ce1d2f91.png

46fccb7cc230cf54ffb1acc92c1304ee.png

8b9261ecabb85a23cc981fe6e0728f7e.png

35d9a4939d5b6af1804c8934ef8d4f74.png

第二步:使用 TortoiseSVN 拉取仓库,并添加一个可用的包。

在根目录添加一个 composer.json 文件,最后目录如下:

e172091dc64785fc5e24f77eab476523.png

composer.json配置如下:

{

"name": "bigbug/tt",

"description": "local code",

"type": "library",

"license": "MIT",

"authors": [

{

"name": "Big Bug",

"email": "bigbug.site@gmail.com"

}

],

"minimum-stability": "dev",

"require": {}

}

到 trunk 目录,创建一个 src 文件夹 和 添加 composer.json

composer.json配置如下

{

"name": "bigbug/gang",

"description": "test",

"license": "MIT",

"authors": [

{

"name": "cg",

"email": "cg@gmail.com"

}

],

"autoload": {

"psr-4": {

"Gang\\" : "src"

}

}

}

到 src 目录,添加一下可以运行的代码。

偷懒的话,可以直接用我的这个:Other.php

namespace Gang;

class Other

{

public static function put():void

{

for ($i = 1; $i <= 9; $i++) {

for ($q = 1; $q <= $i ; $q++) {

echo  "$q X $i = ".($i*$q)."\t";

}

echo "\n";

}

}

}

我的src目录

7fb8c5f4bfc5d81f3df2400cd6e3c230.png

回到 trunk 目录,然后运行 composer update,会自动生成 vendor目录,最终目录如下:

9c0e44454537f16c157bc2b62801eed2.png

其中 index.php 是我自己添加的测试文件,不用管它,把这些全部提交到 SVN

以上创建完毕一个包,下面将是如何使用这个包

第三步:使用

随便创建一个文件夹,然后再里面创建一个 composer.json 文件,配置如下:

{

"name": "administrator/testpkg",

"description": "test tt",

"type": "project",

"license": "MIT",

"minimum-stability": "dev",

"repositories": [

{

"type": "vcs",

"url": "https://zt14693/svn/tt"

}

],

"require": {

"bigbug/gang":"*"

}

}

执行 composer update 将会拉取刚刚的包:

4b16fd6da639ab9a06afce5ca2eac1b2.png

新建一个 index.php 验证是否成功导入包:

require __DIR__.'../../vendor/autoload.php';

echo Gang\Other::put();

运行如下:(看来是OK了)

b1d06773076df54cbeb0e18337883140.png

以上已经满足 本博文 标题内容,下面内容作为结尾

第四步:打标签

05237a98f4dc07615f0669692441af23.png

f7706ca965b4e01f46865f83de6ffbd9.png

然后我们修改我们的 composer.json

{

.....其他代码....

"require": {

"bigbug/gang":"1.0.0"

}

.....其他代码.....

}

执行composer update

e91809e035b14d6e5badd0ee0f3a4830.png

成功使用了 tag! 完美收尾

说明

原创不易,转载请注明出处。

以上步骤,我没有做过多解释其中配置项,需要你自己去看文档。

不同环境,会出不同问题,但基本逻辑差不多,我希望遇到问题的你,能够多看 composer 文档。

本作品采用《CC 协议》,转载必须注明作者和本文链接

Less is more.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值