使用github、Packagist、composer发布
来源:互联网 发布:金和网络老十佳 编辑:程序博客网 时间:2024/06/05 09:49
下面我结合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
- 使用github、Packagist、composer发布
- github发布一个稳定版本packagist的composer包
- 使用GitHub、Composer、Packagist管理公开的PHP包(Step By Step)
- 发布composer包到packagist上并设置自动更新
- Packagist / Composer 中国全量镜像
- Packagist Composer 中国全量镜像
- Packagist / Composer(中国全量镜像)
- Packagist / Composer 中国全量镜像
- composer安装以及packagist镜像的使用
- 如何安装Composer和使用Packagist 镜像
- Composer中文镜像 / packagist
- 5. Laravel5学习笔记:在packagist上发布自己的composer包
- 创建一个自己的【Composer/Packagist】包
- 在使用composer下载TP5的时候遇到 Your configuration does not allow connections to http://packagist.phpcomposer.
- 怎么使用Packagist镜像
- yii2使用composer安装出错,github授权问题
- yii2使用composer安装出错,github授权问题
- 191 composer 使用国内镜像 / 发布自己的package / 个人项目中使用composer
- csdn我来了
- php仿QQ等级太阳显示函数
- 【HDU 3555】Bomb 数位dp模板
- Linux设备驱动之I2C架构分析
- Android的四大组件及应用安装安全问题(4)
- 使用github、Packagist、composer发布
- 分离php和mysql搭建LAMP平台
- 获取一个文件夹下的数据排版格式相同的Excel表格的数据
- 学习笔记:zlib+boost 的用法
- Gradle Build Running 太慢了。。。。。。
- Android service、broadcast后台启动Activity
- 微信 WEUI 的 switch button 精简提取
- HashMap vs ConcurrentHashMap — 示例及Iterator探秘
- AndroidStudio Gradle第三依赖统一管理(by 星空武哥)