PHP:发布一个composer包到Packagist

more-echo-php

a demo for PHP composer

一个PHP的composer包发布示例

1、初始化项目

mkdir more-echo-phpcd more-echo-php# 初始化项目, 填写好项目的信息
$ composer init

项目目录

$ tree -I vendor
.
├── README.md
├── composer.json
└── src└── EchoText.php

composer.json

{"name": "mouday/more-echo","description": "a demo for Composer","type": "library","license": "MIT","autoload": {"psr-4": {"Mouday\\MoreEcho\\": "src/"}},"authors": [{"name": "pengshiyu","email": "1940607002@qq.com"}],"require": {}
}

src/EchoText.php

namespace Mouday\MoreEcho;/*** a demo for php composer* Class EchoText* @package Mouday\MoreEcho*/
class EchoText
{public static function echoText($text){echo $text;}
}

发布项目

  1. 将项目提交到github
  2. 将项目发布到packagist,点击submit输入github的项目地址

发布包地址:

  • packagist: https://packagist.org/packages/mouday/more-echo
  • github: https://github.com/mouday/more-echo-php

使用发布的包

安装包

composer require mouday/more-echo

示例

require './vendor/autoload.php';use  Mouday\MoreEcho\EchoText;EchoText::echoText('Hello World!');
// Hello World!

问题

1、提示composer.json找不到

[RuntimeException]                                                                                    No composer.json present in the current directory (./composer.json), this may be the cause of the following exception. 
echo '{}' > composer.json

2、包不存在

通常我们使用的是阿里云的镜像地址,刚提交的包,可能没有及时同步,可以临时设置一下包下载地址

$ composer config repo.packagist composer https://packagist.org/

3、版本号找不到

  [InvalidArgumentException]                                                                            Could not find a version of package mouday/more-echo matching your minimum-stability (stable). Require it with an explicit version constraint allowing its desired stability. 

给项目打一个版本号的标签

git tag 1.0.0git push --tag 

参考
php composer Packagist 创建第一个自己的包
101- composer [packagist]包制作(入门篇)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部