开发composer包并发布到Toran示例

给公司刚使用composer同事写的demo文档,一并更新到博客。

简介

  1. composer相关介绍可参考
    composer中文学习

  2. 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 (/) [brightwang/composer-dev-demo]: igg/composer-dev-demo
Description []: 测试
Author [brightwang , 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
  1. 执行后可以提交入git中

  2. 在packagist中提交包文件


    开发composer包并发布到Toran示例_第1张图片
    Packagist添加
  3. 提交后信息显示


    开发composer包并发布到Toran示例_第2张图片
    添加包
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));

你可能感兴趣的:(开发composer包并发布到Toran示例)