从零创建发布属于自己的composer包
原文地址:https://www.wjcms.net/archives/从零创建发布属于自己的composer包
今天给大家讲解一下如何从零创建发布属于自己的composer包。
composer包用起来确实非常方便,深受php开发者的青睐,但是如何创建自己的包呢?我们一起来看一下。
准备工作
- 注册并登录github账户,https://github.com/
- 安装好git软件:https://git-scm.com/download/win
- 注册登录packagist账户:https://packagist.org/,并与github进行关联
创建线上仓库
打开github,点击右上角加号,选择new repository

而后,进行相关设置,如下图:

这里需要输入项目名称,描述,是否公开,是否初始化readme,git忽略文件,以及开源协议等信息。
相关选项可以自行研究一下。
然后,点击create repository按钮创建仓库。
拉取线上仓库到本地
完成上面的操作化,会成功后会跳转到仓库页面。

然后点击右侧的code按钮,然后再点击复制此仓库的git地址。
回到本地,打开git软件,运行clone命令拉取
git clone https://github.com/wjcms/composer-test.git

composer 初始化
先进入项目目录,在git中命令
cd composer-test
然后运行初始化命令
composer init

详细设置见上图。
注意:package type :library是仓库,对应提交后的require命令,project是项目,下载后直接能跑起来的,对应create-project命令。
配置autoload
初始化完毕后,打开本地的composer.json文件夹可以进行修改。
附上我的composer.json文件,上面有详细注释
注运行时候不能加注释,不然会报错跑不起来
{
"name": "wjcms/composer-test",#包名称
"description": "composer-test description",#包描述信息
"type": "project",#类型,可选e.g. library, project, metapackage, composer-plugin
"license": "MIT",#开源协议
"authors": [
{
"name": "wjcms",#作者
"email": "wjcms@qq.com"#邮箱
}
],
"minimum-stability": "stable",#版本限制 dev开发版 stable 稳定版
"autoload":{
"files":[
"src/lib/helper.php"#载入助手函数
],
"psr-4":{ # 自动加载: 注意了, 这里有 psr-4, psr-2 多种规范, 并且,注意目录和命名空间
"wjcms\\composer\\":"src"#载入命名空间
}
}
}
更改完毕后进行保存,而后运行命令重新载入。
composer dump-autoload

创建基本包代码
基本目录
这里对应上面的autoload->psr-4里面的配置,还有flies配置
先创建一个src目录,创建helper.php,Database.php

提交到github仓库
切换到本地目录
cd composer-test
然后运行命令git add .命令,把文件提交到本地仓库
git add .
然后git commit -m 添加提交注释
git commit -m '第一个composer包'
然后git push进行提交,把文件提交到github
git push

然后输入github账户用户名密码,即可成功提交。

提交到packagist
打开github项目地址,复制网址:如https://github.com/wjcms/composer-test
打开https://packagist.org/,右上角submit提交

然后把github项目地址粘贴到框中

点击提交,如果有重名的会提示,不用管直接点submit

看到下图,就成功了。
可以复制命令试一下是否能成功。

从零创建发布属于自己的composer包的更多相关文章
- composer包(发布到github上)同步到Packagist
在上一篇文章里面,探讨了如何一步步建立composer包–创建你的一个composer包 创建完成后,我们需要做的就是讲自建的包发布到Packagist上.至于说什么是Packagist,这个就不用我 ...
- 创建你的第一个Composer/Packagist包
今天我们要介绍一下如何通过Composer和Packagist向PHP社区贡献代码包.首先,如果你是一个PHP开发者但是还不知道什么是Composer,请先参考了一下这篇文章http://docs.p ...
- 创建你的一个composer包
如何创建自己的一个composer包,这个其实很好解决的!只要你了解composer相关的知识便不难做到. 首先,你还不知道什么是composer的话,请先学习下composer的相关知识.简单的说, ...
- 如何创建自己的composer包
composer中文网 :https://www.phpcomposer.com/ 一.前期准备: composer 安装 Windows安装: 1.下载安装包,https://getcomposer ...
- 【Composer】实战操作二:自己创建composer包并提交
大纲 创建自己的composer库 提交到指定平台 测试安装自己的库 设置composer平台自动更新 如何方便测试自己开发的库 开始动手 创建自己的composer库 个人博客后台有一部分是关于统计 ...
- 创建发布自己的npm包
我们基于nodejs平台上面的npm上,可以随意下载很多npm安装包.那我们如何创建自己的npm包呢?很简单,废话少说,开始做~ 开始做之前nodejs默认是要安装的,怎么安装自行百度其他教程. 首先 ...
- 手把手教你发布自己的 Composer 包
一.前言 Composer 是 PHP 用来管理依赖(dependency)关系的工具.我们不仅要学会使用别人提供的包,更要学会制作和分享自己的软件包,下面演示如何创建一个自己的 Composer 包 ...
- 使用CLI 3 创建发布Web Components
本文翻译自:codementor 翻译不当之处,欢迎指正交流 Web Components是web平台的未来吗?关于这一问题支持和反对的观点有很多.事实上浏览器对Web Components的支持正在 ...
- Electron 从零创建一个 Windows/OS X/Linux 的桌面可执行程序
[外链图片转存失败(img-3RucrgcX-1562556984462)(http://7vzsvy.com1.z0.glb.clouddn.com/electron-1-2.png "E ...
随机推荐
- java实现第七届蓝桥杯骰子游戏
骰子游戏 PS: 骰子哪有从0开始的只能是1-6,而他i j k的范围都是0-5,所以都要加1 题目描述 我们来玩一个游戏. 同时掷出3个普通骰子(6个面上的数字分别是1~6). 如果其中一个骰子上的 ...
- (十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析
一.测试前分析 前文<DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析> 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程 ...
- 一文了解Docker容器技术的操作
一文了解Docker容器技术的操作 前言一.Docker是什么二.Docker的安装及测试Docker的安装Docker的Hello world测试三.Docker的常见操作镜像的基本操作容器的基本操 ...
- 聊一聊Asp.net过滤器Filter那一些事
最近在整理优化.net代码时,发现几个很不友好的处理现象:登录判断.权限认证.日志记录.异常处理等通用操作,在项目中的action中到处都是.在代码优化上,这一点是很重要着力点.这是.net中的过滤器 ...
- curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to storage.googleapis.com:443
安装nvm的时候, ➜ ~ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash 错 ...
- ELK扫盲及搭建
1. ELK部署说明 1.1ELK介绍: 1.1.1 ELK是什么? ELK是三个开源软件的缩写,分别表示:ElasticSearch , Logstash, Kibana , 它们都是开源软件,EL ...
- 【asp.net core 系列】9 实战之 UnitOfWork以及自定义代码生成
0. 前言 在前一篇中我们创建了一个基于EF的数据查询接口实现基类,这一篇我将带领大家讲一下为这EF补充一些功能,并且提供一个解决避免写大量配置类的方案. 1. SaveChanges的外移 在之前介 ...
- 【漏洞复现】Fastjson <=1.2.47远程命令执行
0x01 漏洞概述 漏洞描述 Fastjson是一款开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBe ...
- 开启PG的归档模式
目录 开启PG的归档模式 1.查看pg的数据目录 2.查看pg的归档情况 3.查看归档的模式和位置 4.建立归档目录 5.配置归档参数 6.重启pg 7.查看&&切换归档日志 8.查看 ...
- 《Java并发编程的艺术》第5章 Java中的锁 ——学习笔记
参考https://www.cnblogs.com/lilinzhiyu/p/8125195.html 5.1 Lock接口 锁是用来控制多个线程访问共享资源的方式. 一般来说一个锁可以防止多个线程同 ...

