composer 发布自己的开源软件
首先创建一个github项目。
在项目中,创建一个composer.json文件。
{
  "name": "jiqing9006/valid",
  "description": "PHP接口参数验证小工具,简单实用",
  "keywords": [
    "valid",
    "form",
    "表单",
    "validate",
    "validation",
    "validator",
    "api"
  ],
  "authors": [
    {
      "name": "jiqing9006",
      "email": "jiqing9006@gmail.com"
    }
  ],
  "minimum-stability": "dev",
  "require": {
    "php": ">=5.3.0"
  },
  "license": "MIT",
  "autoload": {
    "psr-4": {
      "Valid\\": "src/"
    }
  }
}
autoload中的内容表示,命名空间是Valid,自动加载src中的文件。

然后,将代码发布到https://packagist.org/中。


这个时候,代码不是自动更新的。
到github中添加自动更新服务。




经过这些处理之后,github更新就会自动变更到https://packagist.org/中。比如发布新的包,比如更改说明文档等等。

这个狗日的错误坑死我了,我试着手动发布版本,不行。
通过git tag 发布版本也不行。
没想到是因为镜像出了问题,不更新了。
果断换镜像。
composer config -g repo.packagist composer https://packagist.laravel-china.org


然后就ok了。镜像不更新,我就找不到版本。等了一下午也没反应。

下面说说git tag 很方便!
git tag 查看本地版本
git tag [name] 创建一个新的版本
git tag -d [name] 删除本地版本
git push origin :refs/tags/[name] 删除远程版本
git push origin --tags 提交版本
git log --oneline --decorate --graph 查看提交状态
更新下来之后,就可以使用了。
<?php
/**
 * Created by PhpStorm.
 * User: jiqing
 * Date: 18-7-25
 * Time: 下午9:35
 */
require 'vendor/autoload.php';
$validators = [
    'tel' => 'required|tel',
    'name' => 'required',
    'email' => 'r|email',
    'password' => 'r|min_len,6|max_len,12'
];
if ($err = Valid\Valid::is_valid($validators,$_POST)) {
    echo $err;
}

太不容易了!!!都被镜像给坑了!!!
composer 发布自己的开源软件的更多相关文章
- 发布一个免费开源软件-- PAD流程图绘制软件PADFlowChart
		软件的可执行文件下载:PADFlowChart-exe.zip MD5校验码:91FCA9FEC9665FD09BEB3DA94ADC1CE6 SHA1校验码:ECD742AA3092A085AB07 ... 
- 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区
		不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ... 
- 2014 年最热门的国人开发开源软件TOP 100
		不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外认可.中国是开 ... 
- 2014年国人开发的最热门的开源软件TOP 100
		不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ... 
- GIS开源软件大全
		3 - F 3map:行星地球项目由3map驱动,这是一个自由软件,由Telstra宽带基金会创建并支持,提供客户端与服务器的能力以在线再现虚拟地球. Amein!:其界面介于ArcMap和UMN M ... 
- 自由软件VS开源软件
		自由软件VS开源软件 “自由软件运动”是一项倡导软件这种知识产品应该免费共享的社会运动,它主要是从社会伦理学,道德的高度,强调我们每个人都有自由使用软件的权利.这种权利不应该被软件私有所破坏. 反对软 ... 
- 遵守GPL的开源软件能用于商用吗?
		遵守GPL的开源软件能用于商用吗? 比较经典的开源协议有 GPL,BSD 等等. GPL 软件可以用于商业用途,甚至说,RMS 撰写 GPL 协议的目的就是为了让自己的 GPL 软件 emacs 可以 ... 
- 基于开源软件在Azure平台建立大规模系统的最佳实践
		作者 王枫 发布于2014年5月28日 前言 Microsoft Azure 是微软公有云的唯一解决方案.借助这一平台,用户可以以多种方式部署和发布自己的应用. 这是一个开放的平台,除了对于Windo ... 
- 开源软件授权协议详解(GPL/MPL/LGPL/BSD/Apache Licence/Creative Commons/MIT)
		开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢? 答案是否定的. 开源运动同样有自己的游戏规则和道德准则. 不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成 ... 
随机推荐
- spring3: 4.4 使用路径通配符加载Resource
			4.4.1 使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源. Ant路径通配 ... 
- GO学习笔记:函数defer
			Go语言中有种不错的设计,即延迟(defer)语句,你可以在函数中添加多个defer语句.当函数执行到最后时,这些defer语句会按照逆序执行,最后该函数返回.特别是当你在进行一些打开资源的操作时,遇 ... 
- RegularExpressions(正则表达式)
			最近在不少地方用到了正则表达式,一直对这一块不太熟悉,今天写一些关于正则表达式的知识,一来是总结自己学的知识,二来今后忘记了可以及时的复习. 在java中想应用正则表达式带来的好处,必须先了解两个类, ... 
- webpack打包图片资源找不到问题
			当我们进行前端打包时,需改成如下配置: 往常这样打包是没有问题的,可是今天进行项目打包的时候缺报图片找不到的错误,如图所示: 头部组件的图片资源找不到错误,后台发现因为头部组件的背景图片size过大, ... 
- 【第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-L】用来作弊的药水
			链接:https://www.nowcoder.com/acm/contest/90/L来源:牛客网 输入x,a,y,b,(1<=x,a,y,b<=10^9)判断x^a是否等于y^b 前面 ... 
- 基于openfire+smack即时通讯instant message开发
			前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使 ... 
- react: redux-devTools
			import {composeWithDeTools} from 'redux-devtools-extension'; const bindMiddleware = middleware => ... 
- 浅析C#中抽象类和接口的区别
			声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况.不能创建abstract 类的实例.然 ... 
- L134
			这种成功和后来的研究(表明记忆本身并不是先天决定的)使爱立信总结到,记忆的行为与其说是一种习得的行为不如说是一种先天的行为. 这点我们不清楚-构思物体和找出数字模型的能力,回答问题(最好的诗人和哲学家 ... 
- 第一次使用stackoverflow的寻求帮助
			最近在研究一项资料很少的技术--Drools,遇到一个很棘手的问题,搜遍所有网站,百度.谷歌都找不到解决方案.无奈之下,想起了stackoverflow这个技术问答网站.于是鼓足勇气,用蹩脚的英文在上 ... 
