小小黑

小黑屋

使用github、Packagist、composer发布

下面我结合ThinkPHP来说一下怎么使用github和packagist在Windows环境下发布一个自己的composer包。

1.首先需要加载windows版的composer,安装的时候需要注意必须开启php_openssl模块,安装后在cmd中输入composer检验安装成功。
这里写图片描述

2.在github中新建一个项目,然后download下来,这里我全程使用PHPStorm来操作:
这里写图片描述

3.使用 composer init 来初始化composer,在这里系统会自动提问并配置,其实也可以全部按回车全部都忽略了,然后再手动进行修改,比如说我创建一个文件,然后修改成这样:

{
    "name": "xxh/think-wxminihelper",
    "description": "weixin mini program helper",
    "license": "Apache-2.0",
    "minimum-stability": "stable",
    "version": "1.0.1",
    "authors": [
        {
            "name": "小小黑",
            "email": "769418278@qq.com"
        }
    ],
    "support": {
        "issues": "https://github.com/wulongtao/think-wxminihelper/issues"
    },
    "require": {
        "php": ">=5.3.0"
    },
    "autoload": {
        "psr-4": {
            "wlt\\wxmini\\": "src/"
        }
    }
}

4.上面主要是要注意autoload配置,这个表示配置一个命名空间指向对应的目录,然后再对应的目录中加入自己的代码,比如我这里封装了一个微信小程序加密认证的模块(注意这里命名空间写对就可以了,还有的是类名和文件名要一致,这是个坑来的,因为微信官方给出的类文件名第一个字母是小写的。。):

namespace wlt\wxmini;
/**
 * error code 说明.
 * <ul>

 *    <li>-41001: encodingAesKey 非法</li>
 *    <li>-41003: aes 解密失败</li>
 *    <li>-41004: 解密后得到的buffer非法</li>
 *    <li>-41005: base64加密失败</li>
 *    <li>-41016: base64解密失败</li>
 * </ul>
 */

class ErrorCode
{
    public static $OK = 0;
    public static $IllegalAesKey = -41001;
    public static $IllegalIv = -41002;
    public static $IllegalBuffer = -41003;
    public static $DecodeBase64Error = -41004;
}

5.编辑好代码之后push到github上,然后再相应的项目中点击setting,进入到设置页面,在配置Packagist的hook。

这里写图片描述

这里写图片描述

6.上面点击创建了之后,接下来要去 https://packagist.org/profile/ 上面创建一个号,看一下自己的API token,

这里写图片描述

7.回到github进行hook相关配置:
这里写图片描述

8.在Packagist官网中点击submit(Check的使用会检查是否已经纯在这个目录了,如果存在的话,需要重新改一下composer.json文件中的name配置)
这里写图片描述
这里写图片描述

9.提交之后就可以使用了,在使用之前先配置一下代理:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

10.在你的项目中进行配置,比如我的项目框架是thinkPHP5.0,在更目录中,敲如下命令(dev-master是固定的,如果你没设置分支的话):

composer require xxh/think-wxminihelper dev-master

11.等待一端时间安装完成,使用的时候需要根据具体的框架而定,如果没有使用框架,就需要手动

require_once 'autoload.php'

但是我这里使用了ThinkPHP5.0,默认vendor里面是自动加载的,所以并不需要做任何的require 操作


参考网站:

https://rivsen.github.io/post/how-to-publish-package-to-packagist-using-github-and-composer-step-by-step

http://blog.zhengshuiguang.com/php/packagist.html

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014520745/article/details/54377141
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

使用github、Packagist、composer发布

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭