原文地址:https://www.wjcms.net/archives/从零创建发布属于自己的composer包

今天给大家讲解一下如何从零创建发布属于自己的composer包。

composer包用起来确实非常方便,深受php开发者的青睐,但是如何创建自己的包呢?我们一起来看一下。

准备工作

  1. 注册并登录github账户,https://github.com/
  2. 安装好git软件:https://git-scm.com/download/win
  3. 注册登录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包的更多相关文章

  1. composer包(发布到github上)同步到Packagist

    在上一篇文章里面,探讨了如何一步步建立composer包–创建你的一个composer包 创建完成后,我们需要做的就是讲自建的包发布到Packagist上.至于说什么是Packagist,这个就不用我 ...

  2. 创建你的第一个Composer/Packagist包

    今天我们要介绍一下如何通过Composer和Packagist向PHP社区贡献代码包.首先,如果你是一个PHP开发者但是还不知道什么是Composer,请先参考了一下这篇文章http://docs.p ...

  3. 创建你的一个composer包

    如何创建自己的一个composer包,这个其实很好解决的!只要你了解composer相关的知识便不难做到. 首先,你还不知道什么是composer的话,请先学习下composer的相关知识.简单的说, ...

  4. 如何创建自己的composer包

    composer中文网 :https://www.phpcomposer.com/ 一.前期准备: composer 安装 Windows安装: 1.下载安装包,https://getcomposer ...

  5. 【Composer】实战操作二:自己创建composer包并提交

    大纲 创建自己的composer库 提交到指定平台 测试安装自己的库 设置composer平台自动更新 如何方便测试自己开发的库 开始动手 创建自己的composer库 个人博客后台有一部分是关于统计 ...

  6. 创建发布自己的npm包

    我们基于nodejs平台上面的npm上,可以随意下载很多npm安装包.那我们如何创建自己的npm包呢?很简单,废话少说,开始做~ 开始做之前nodejs默认是要安装的,怎么安装自行百度其他教程. 首先 ...

  7. 手把手教你发布自己的 Composer 包

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

  8. 使用CLI 3 创建发布Web Components

    本文翻译自:codementor 翻译不当之处,欢迎指正交流 Web Components是web平台的未来吗?关于这一问题支持和反对的观点有很多.事实上浏览器对Web Components的支持正在 ...

  9. Electron 从零创建一个 Windows/OS X/Linux 的桌面可执行程序

    [外链图片转存失败(img-3RucrgcX-1562556984462)(http://7vzsvy.com1.z0.glb.clouddn.com/electron-1-2.png "E ...

随机推荐

  1. 【JAVA习题十九】利用递归方法求5!。

    package erase; public class 用递归法求5的阶乘 { public static void main(String[] args) { // TODO Auto-genera ...

  2. JDBC连接泄露问题的排查过程总结

    当前使用的Spring JDBC版本是5.0.0.RC1,HikariCP版本是3.1.0. 今天测试同学反馈在前端页面点击次数多了,就报500错误,数据显示不出来.于是我在后台服务日志中观察发现Hi ...

  3. 容器技术之Docker私有镜像仓库docker-distribution

    在前边的博客中我们说到docker的架构由docker客户端.服务端以及仓库组成:docker仓库就是用来存放镜像的地方:其实docker registry我们理解为存放docker镜像仓库的仓库比较 ...

  4. 2.Redis 控制短信重发

    需要两个缓存 key名称 phone-busy,缓存1分钟key名称 phone-send-count,缓存1天,每成功发送一条+1 发送的时候流程如下: 判断phone-busy是否存在,存在直接报 ...

  5. workbench中如何导入.sql文件

    在做电商管理系统的时候,需要使用 mysql 中的数据,在执行 app.js 文件时出现错误 于是将 mydb.sql 导入到workbench中,步骤如下: 1. 打开 workbench 软件,选 ...

  6. kafka架构、基本术语、消息存储结构

    1.kafka架构 kafka处理消息大概流程 生产者发送消息给kafka服务器 消费者从kafka服务器(broker)读取消息 kafka服务器依靠zookeeper集群进行服务协调管理 2.ka ...

  7. TensorFlow从0到1之TensorFlow常用激活函数(19)

    每个神经元都必须有激活函数.它们为神经元提供了模拟复杂非线性数据集所必需的非线性特性.该函数取所有输入的加权和,进而生成一个输出信号.你可以把它看作输入和输出之间的转换.使用适当的激活函数,可以将输出 ...

  8. JS遍历对象的几种方法

    几天前一个小伙伴问我 Object.getOwnPropertyNames() 是干什么用的 平时还真没有使用到这个方法,一时不知如何回答 从方法名称来分析,应该是返回的是对象自身属性名组成的数组 那 ...

  9. Linux切换超级管理员root用户

    Ubuntu用$标志表示你现在处于普通用户,#表示超级用户. 普通用户会有限制,想从普通变成超级用户,可以输入 su 或 su - 命令,要求你输入密码, 你如记得密码就可以直接输入,再Enter即可 ...

  10. Appium查看应用包名

    方式一没有apk 如果应用已经安装在手机上了(例如应用商城下载).可以直接打开手机上该应用, 进入到要操作的界面然后执行: adb shell dumpsys activity recents | f ...