大纲

  • 创建自己的composer库

  • 提交到指定平台

  • 测试安装自己的库

  • 设置composer平台自动更新

  • 如何方便测试自己开发的库

开始动手

创建自己的composer库

个人博客后台有一部分是关于统计的,通过UA获取浏览器,设备,操作系统。本人封装了一个库,放在github上,源码地址:https://github.com/apanly/browser-detector,任何一个文件夹只有有个composer.json文件,就可以作为一个库或者项目的,大家可以自行在github新建自己的项目

browser-detector 的 composer.json内容如下

{
    "name": "apanly/browser-detector",
    "description": "根据UA判断浏览器类型和版本,操作系统,设备型号 ",
    "keywords": ["browser", "os", "operating system", "language", "detection","浏览器","操作系统","设备型号"],
    "authors": [
        {
            "name": "apanly",
            "email": "apanly@163.com"
        }
    ],
    "require": {
        "php": "^5.3.3 || ^7.0"
    },
    "autoload": {
        "psr-4": {
            "apanly\\BrowserDetector\\": "src"
        }
    }
}

其中最重要的两个关键字就是 name  和 autoload ,具体功能实现可以阅读源码

关键字 描述
name 包名,包括供应商名称和项目名称,使用 / 分隔,例如apanly/browser-detector
autoload PHP autoloader 的自动加载映射

提交到指定平台

当开发完一个包之后,如果想提供给互联网人下载需要提交到  https://packagist.org 平台

提交地址:https://packagist.org/packages/submit (注册请自行解决)

apanly/browser-detector地址:https://packagist.org/packages/apanly/browser-detector

测试安装自己的库

安装命令如下成功就可以直接使用,方便吧

composer require apanly/browser-detector

设置composer平台自动更新

直接上图说明,设置完成之后每次更新代码packagist平台也会同步的

如何方便测试自己开发的库

本人目前还没有找到方便的方法,测试的时候我会在固定地方 安装这个插件,然后进入库目录,你会发现本身就是一个git项目,所以我的步骤就是

  1. 进入库目录

  2. 直接修改源码

  3. 测试

  4. push到github

重复2-4步保存迭代更新

$ cd vendor/apanly/browser-detector on master
$ git remote -v
composer https://github.com/apanly/browser-detector.git (fetch)
composer https://github.com/apanly/browser-detector.git (push)
origin https://github.com/apanly/browser-detector.git (fetch)
origin git@github.com:apanly/browser-detector.git (push)

原文地址:【Composer】实战操作二:自己创建composer包并提交
标签:composer   pachage   browser-detector   github   git

智能推荐

【Composer】实战操作二:自己创建composer包并提交的更多相关文章

  1. composer 创建自己包

    服务器环境下创建自己的项目文件 初始化composer 打开cmd 窗口,cd 到 backrestore 执行 composer init 命令 D:\phpStudy\WWW\backrestor ...

  2. Java创建和解析Json数据方法(二)——org.json包的使用

    (二)org.json包的使用 1.简介   工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookie ...

  3. composer分析(二)结合PSR-4

    composer分析(二)结合PSR-4 PSR-4提供了一种文件和路径映射关系,非常类似文件系统的组织结构 全限定类名 \<NamespaceName>(\<SubNamespac ...

  4. Android Studio 创建aar包与引用

    两者区别:*.jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件.*.aar: 包含所有资源 ,class以及res资源文件全部包含 一.创建aar包1.创建一个 ...

  5. IntelliJ IDEA 创建 Java包

    一.创建包 1.在已有项目的"src"文件夹 -> 右键 -> New -> Package 2.命名包名,注意命名规范 二.创建类 1.新建包成功之后,在包上右 ...

  6. 自学Linux Shell9.4-基于Red Hat系统工具包存在两种方式之二:源码包

    点击返回 自学Linux命令行与Shell脚本之路 9.4-基于Red Hat系统工具包存在两种方式之二:源码包 本节主要介绍基于Red Had的系统(测试系统centos) 1. 工具包存在两种方式 ...

  7. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  8. InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移

    系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...

  9. 从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板

    标题:从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11155 ...

随机推荐

  1. SPOJ TSUM Triple Sums(FFT + 容斥)

    题目 Source http://www.spoj.com/problems/TSUM/ Description You're given a sequence s of N distinct int ...

  2. C#性能测试方法

    用 System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); watch.Start(); for (int i ...

  3. Android入门第八篇之GridView(九宫图)

    本文来自http://blog.csdn.net/hellogv/ GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridVi ...

  4. 未能加载文件或程序集"Microsoft.Web.Infrastructure 的解决方案

    转载请注明来源: http://www.cnblogs.com/zaiyuzhong/p/Unload-Infrastructure-Solution.html 部署MVC5  项目发布到文件系统 I ...

  5. Android MultiDex

    出现的原因: 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt.DexOpt的执行过程是在第一次加载Dex文件的时候执行的.这个过程会生 ...

  6. 洛谷 P1033 自由落体 Label:模拟&&非学习区警告

    题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...

  7. [知识点]Trie树和AC自动机

    // 此博文为迁移而来,写于2015年5月27日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w1s8.html 1.前 ...

  8. 【BZOJ】2741: 【FOTILE模拟赛】L

    题意:给定一个长度为n的序列,m次询问,每次询问一个区间[l, r],求max(Ai xor Ai+1 xor Ai+2 ... xor Aj),其中l<=i<=j<=r.(n< ...

  9. HTML5中video 和 ogg

    HTML5中 的ogg 从网上学习HTML5之video时看到了下面的代码,不太清楚ogg是什么,于是搜索了一些知识点供了解.

  10. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...