背景
在食用本博文前,可以先去熟悉 composer 文档中的 [2.5. composer.json 完全解析],然后再把 2.6. 扩展包源仓库看完,这样下面的内容你将轻易理解为何这样做,不看也没事,后面再补上,我懂有时候只需要马上能搞一个跑的通的环境!(本文注重操作,没有任何原理解释)
准备工作
SVN 可用的仓库,(可以下载一个 VISUALSVN SERVER,先在本地练手)
安装 TortoiseSVN
安装 Composer
开始
第一步:创建仓库
第二步:使用 TortoiseSVN 拉取仓库,并添加一个可用的包。
在根目录添加一个 composer.json 文件,最后目录如下:
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目录
回到 trunk 目录,然后运行 composer update,会自动生成 vendor目录,最终目录如下:
其中 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 将会拉取刚刚的包:
新建一个 index.php 验证是否成功导入包:
require __DIR__.'../../vendor/autoload.php';
echo Gang\Other::put();
运行如下:(看来是OK了)
以上已经满足 本博文 标题内容,下面内容作为结尾
第四步:打标签
然后我们修改我们的 composer.json
{
.....其他代码....
"require": {
"bigbug/gang":"1.0.0"
}
.....其他代码.....
}
执行composer update
成功使用了 tag! 完美收尾
说明
原创不易,转载请注明出处。
以上步骤,我没有做过多解释其中配置项,需要你自己去看文档。
不同环境,会出不同问题,但基本逻辑差不多,我希望遇到问题的你,能够多看 composer 文档。
本作品采用《CC 协议》,转载必须注明作者和本文链接
Less is more.