发布一个自己的composer包

首先我们创建一个空的目录,并且运行以下命令初始化一个空白的composer包

composer init

可以在命令窗口看到有返回提示; 需要输入包名

This command will guide you through creating your composer.json config.`
Package name (<vendor>/<name>) :

我这里写的是chaoyang/test,回车 需要输入描述

Description []:

包的描述内容 需要输入作者

Author [xxx xxxx@qq.com>, n to skip]:

该选项如果有默认值 可以直接回车 需要输入最低稳定版本

Minimum Stability []:

该选项有可选值:stable, RC, beta, alpha, dev 一般填dev 需要输入包类型

Package Type (e.g. library, project, metapackage, composer-plugin) []:

可选项在提示中已经有了,我们一般选library填l即可 需要输入开源协议

License []:

根据自己情况填写,我们填Apache设置包需要依赖的其他环境或者包

Define your dependencies.
Would you like to define your dependencies (require) interactively [yes]?

如果需要设置依赖环境或者其他包 则输入yes回车,会让你搜索,我们这里给包设置php版本必须大于5.6,所以搜索php。

Enter the version constraint to require (or leave blank to use the latest version):

输入最低要求版本号 >=5.6.0

{
    "name": "chaoyang/test",
    "description": "This is a test package,form yancoo.cn,author is xxx.",
    "type": "l",
    "require": {
        "php": ">=5.6.0"
    },
    "license": "Apache",
    "authors": [
        {
            "name": "xxx",
            "email": "xxxx@qq.com"
        }
    ],
    "minimum-stability": "dev"
}

Do you confirm generation [yes]?

确认信息,yes 回车 初始化完成 Do you confirm generation [yes]? yes Would you like to install dependencies now [yes]? yes 安装完成

编辑composer.json文件

然后我们创建src文件夹,再创建siam文件夹,在里面创建Test.php文件 写上命名空间 Siam; 根据psr-4规范,类名要与文件名相同。

<?php
//Test.php文件
namespace Siam;
class Test
{
    function test()
    {
        echo "Form Test -> test()";
    }
}

再在最外层写下index.php测试文件,正确做法是创建demo文件夹 然后再写测试文件。

<?php
require "vendor/autoload.php";
$Test = new Siam\Test();
$Test->test();

建立git仓库,上传代码,省略。。

我们需要把包上传到仓库中,别人才可以通过composer命令安装 我们需要先把包上传到github中,

再把github仓库地址复制到composer官方仓库提交,composer就会自动拉取你的包并且提供给别人下载安装了!

上传composer包到https://packagist.org/

我们打开,并且注册一个账号。然后点击右上角的submit。把地址填写进去即

到这里,我们的github仓库与packagist已经建立了关联,但是这个使用还是用不了的,因为我们还没有发布正式版本!

需要在git上打标签,才认为我们发布了一个新的版本,packagist才会去拉取并且提供给别人安装。 git打标签需要运行以下命令

git tag -a v1 -m "第一个版本"
git push origin v1

然后就在线上仓库打标签成功了,此时运行composer安装也正常了 在新的一个空白目录中运行

composer require chaoyang/test    是我们初始化填写的包名!
posted @   朝阳1  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示