给公司刚使用composer同事写的demo文档,一并更新到博客。
简介
-
composer相关介绍可参考
composer中文学习 -
Toran-Proxy是一套相对完整的私有仓库管理和代理工具( https://toranproxy.com/ ),相比Satis而言主要有以下几个优势:
- 提供了一套简单的UI来管理包,可以直接通过表单提交和更新;
- 提供了一套简单的API,可以被作为持续集成的一部分,触发添加、更新包等操作;
- 除了私有包管理外,还提供了官方packagist或其他代理源的内部代理功能,提升加载速度的同时,当packagist或其他代理源不能工作时,一定程度上保障服务可用性
开发示例流程
创建目录名称
mkdir composer-dev-demo
cd composer-dev-demo
初始化扩展包
composer init
---
This command will guide you through creating your composer.json config.
Package name (<vendor>/<name>) [brightwang/composer-dev-demo]: igg/composer-dev-demo
Description []: 测试
Author [brightwang <brightwang1984@gmail.com>, n to skip]: n
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []: library
License []:
Define your dependencies.
Would you like to define your dev dependencies (require-dev) interactively [yes]? no
{
"name": "igg/composer-dev-demo",
"description": "测试",
"type": "library",
"require": {}
}
Do you confirm generation [yes]? yes
经过上述命令生成composer.json文件
修改composer.json增加自动加载规范(命名空间和目录映射关系)和环境要求
加入autoload
{
"name": "igg/composer-dev-demo",
"description": "测试",
"type": "library",
"autoload": {
"psr-4": {
"Tools\\": "src/"
}
},
"require": {}
}
autoload:包的加载方式,具体加载方式可以参考composer中文网说明。这里使用的是psr-4标准加载方式。composer会在src目录下根据命名空间执行自动加载。
新建src目录。添加Add.php文件
namespace Tools;
Class Add
{
public function sum($a,$b)
{
return $a + $b;
}
}
文件目录
├── composer.json
└── src
└── Add.php
提交至内网搭建的Toran
-
执行后可以提交入git中
-
在packagist中提交包文件
Packagist添加 -
提交后信息显示
添加包
tag相关操作
git tag v1.0
git push origin --tags
更新packagist查看
[站外图片上传中...(image-9689bc-1551432754656)]
安装使用测试
composer require igg/composer-dev-demo
require 'vendor/autoload.php';
use Tools\Add;
$add=new Add();
var_dump($add->sum(1,2));
网友评论