欢迎您, 来到 宁时修博客.^_^

使用composer发布自己的PHP依赖包

2017/09/25 宁时修 php,Composer 756
Composer是 PHP 用来管理依赖(dependency)关系的工具

1.composer简单介绍

composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(如libraries),Composer 会帮你安装这些依赖的库文件


2.composer安装

安装比较简单,官网文档也说明的很详细。传送门:http://docs.phpcomposer.com/01-basic-usage.html#Installation


3.初始化composer

>composer init
>Package name (<vendor>/<name>) [administrator/a]:cocolait/cp_oauth  (设置composer依赖包的名称)
>Description []: test    (项目描述)
>Author [cocolait?<enkipen@qq.com>, n to skip]:cocolait <enkiepn@qq.com>  (设置开发者的用户名和邮箱)
>Minimum Stability []: dev(最低稳定版本)
>Package Type (e.g. library, project, metapackage, composer-plugin) []: library   (依赖包开发类型选择)
>License []: mit   (选择授权协议 我这里填的是MIT)
>Would you like to define your dependencies (require) interactively [yes]? yes  (询问你是否有依赖的包 没有就no 有就yes)
>Search for a package:php (搜索你需要的依赖包 关键字即可)
>Enter the version constraint to require (or leave blank to use the latest version):5.3  (输入要约的版本约束(或留空使用最新版本)


展示刚才输入一些信息

{
    "name": "cocolait/cp_oauth",
    "description": "test",
    "type": "library",
    "require": {
        "php": "5.3"
    },
    "license": "mit",
    "authors": [
        {
            "name": "cocolait",
            "email": "enkipen@qq.com"
        }
    ],
    "minimum-stability": "dev"
}


>Do you confirm generation [yes]? yes  (确认上述信息是你想要的就 yes)
输入完之后会在你的项目中生成一个composer.json文件 打开看看把


4.实现功能包,发布到github

下面我写的一个composer依赖包列子

目录结构:

--src
    --...
--.gitignore
--LICENSE
--README.md
--composer.json


composer.json的介绍:

{
    "name": "cocolait/sys_oauth",  --依赖包名称信息
    "description": "thinkphp 3.x weixin weibo qq sns oauth", --依赖包介绍
    "type": "library",  --依赖包类型
    "require": {
        // 需要依赖的包
        "php": ">=5.3.0"  
    },
    "license": "apache",   --授权协议
    "authors": [   -- 作者信息
        {
            "name": "cocolait",
            "email": "enkipen@qq.com"
        }
    ],
    "minimum-stability": "stable",  --最低稳定版本
    "autoload" : {  --自动加载
        "psr-4" : { --psr-4命名空间映射到项目目录 例:  (命名空间)\Cp\Sys  =>  (映射的目录)"/src"
            "Cp\\Sys\\" : "src/"
        },
        "files" : [  --自动加载的文件
            "src/helper.php"
        ]
    }
}

完整的示咧:https://github.com/cocolait/sys_oauth.git


最后总结一下实现步骤:

1.github创建项目
2.本地获取github项目,并进行composer初始化创建composer.json文件
3.功能包的编写和实现
4.上传到github发布packagist包,并且设置github和packagist自动同步。


github和packagist自动同步:

1.进入github项目包的Settings => Integrations & services
2.点击Add service 搜索packagist
3.填写 User 、Token 、Domain
User => 填写你的github名字就行
Token => 这个token是在https://packagist.org/上生成的 
生成过程:
1) 登录你的packagist.org 用户
2) 点击profile 右侧有个 Your API Token 点击生成复制到github这个位置
Domain => 这个是同步的域名 填写https://packagist.org 就行
4.填写完成之后,点击 Test service 进行测试,设置成功会有success提示
5.成功之后呢,你之后提交代码到github后,github会自动同步到https://packagist.org
点赞

上一篇 :  layer.js 常用的方法

下一篇 :  composer常用的命令

原文地址 :  https://www.mgchen.com/63.html

说说你的看法

所有评论: (0)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群