文档章节

自己创建composer包并

 蜗牛奔跑
发布于 2016/11/24 11:29
字数 634
阅读 22
收藏 0
点赞 0
评论 0

大纲

  • 创建自己的composer库

  • 提交到指定平台

  • 测试安装自己的库

  • 设置composer平台自动更新

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

开始动手

创建自己的composer库

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

 

600

600

 

browser-detector 的 composer.json内容如下

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

{

    "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 

 

600

 

 

600

 

测试安装自己的库

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

1

composer require apanly/browser-detector

设置composer平台自动更新

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

 

 

 

 

 

 

600

 

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

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

 

  1. 进入库目录

  2. 直接修改源码

  3. 测试

  4. push到github

  

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

 

1

2

3

4

5

6

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)

 

 

本文转载自:

共有 人打赏支持
粉丝 36
博文 596
码字总数 114025
作品 0
海淀
使用PHPStorm+Composer快速初始化项目

PHPStorm是一款非常出色的PHP IDE;vim的忠实拥泵,可以添加一个IdeaVim的插件,继续使用vim的功能。二者结合,当属神器。当然,我还希望能更先进点,Composer的出现,使得PHP项目的代码组织...

slagga
2016/08/10
40
0
怎么让composer加速

composer install 为什么这么慢? 下面是一个composer install(在没有composer cache的情况下)做的所有事情: composer 在install的时候会做这几个事情: 去packagist.org中寻找对应需要的包...

王二狗子11
01/07
0
0
composer install 为什么这么慢?

composer install 为什么这么慢? 下面是一个composer install(在没有composer cache的情况下)做的所有事情: composer 在install的时候会做这几个事情: 去packagist.org中寻找对应需要的包...

蜗牛奔跑
2016/11/15
10
0
作为PHP开发者请务必了解Composer

原文出处:虞大胆 Composer是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于PHP开发者来说掌握Composer是必须的. 对于使用者来说Composer非常的简单,通过简单的一条命令将需要的...

虞大胆
2016/12/15
0
0
作为PHP开发者请务必了解Composer

作为PHP开发者请务必了解Composer 2016-12-17 PHP开发者 (点击上方公众号,可快速关注) 作者:虞大胆 链接:www.jianshu.com/p/98c5b254a79e Composer是一个非常流行的PHP包依赖管理工具,...

High_Mountain
2017/03/06
0
0
composer之创建自己的包

composer的出现,使得PHPer可以像java一样更加方便的管理代码。在composer没有出现之前,人们大多使用pear、pecl管理依赖,但是局限性很多,也很少有人用(接触的大多phper基本不适用pear管理...

蜗牛奔跑
2016/11/24
1
0
如何开发、本地测试、发布 Laravel 扩展包?

现在已经有了很多,关于如何开发 Laravel 扩展包的文章。但是大多文章写的太过片面,不够完整,而且我在实际进行开发扩展包的时候,还是遇到了很多的问题,我把自己的开发经验,以及遇到的问...

angkee
01/10
0
0
手把手教你发布自己的 Composer 包

一、前言 Composer 是 PHP 用来管理依赖(dependency)关系的工具。我们不仅要学会使用别人提供的包,更要学会制作和分享自己的软件包,下面演示如何创建一个自己的 Composer 包。 准备工作:...

天秤vs永恒
04/21
0
0
个人笔记------composer

Composer使用 是什么 如果你知道、、、等命令中的一种或者多种,那么,你也能很快知道是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要;使用,我们只要知道包名...

ywppengpeng
2017/10/19
0
0
通过composer发布自己的包

已经学会了composer的基础用法,知道composer.json的作用,知道install和update命令的作用。 你会使用git,并在github上有一个账号。 基本流程: 1.在github上创建自己的项目,例如:group 2...

阿泽Aze
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
28分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
43分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
145
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部