技术饭

php语言composer包的开发与发布

copylian    0 评论    13878 浏览    2023.06.16

php语言composer包的开发与发布,在php开发过程中最常见的就是composer包了。composer管理代码比较方便,对后续的开发大大提升了效率,降低了成本,而且如果作为开源的也可以提供给其他第三方使用,那么如何制作自己的composer包呢?步骤还是相对简单。

一、制作git仓库

可以去gitee、github创建一个仓库,生成 .gitignore,过滤不必要的文件

.gitignore内容:

        vendor/

        .composer.lock

        composer.lock

        .phpunit.result.cache

        .idea/

拉取git:git clone https://gitee.com/copylian/xxx.git


二、初始化composer

切换到git仓库目录,初始化composer

PS E:\www\testcomposer> composer init

This command will guide you through creating your composer.json config.


# 1. 输入项目命名空间

# 注意<vendor>/<name> 必须要符合 [a-z0-9_.-]+/[a-z0-9_.-]+

Package name (<vendor>/<name>) [root/test_composer]:yourname/projectname


# 2. 项目描述

Description []:这是一个测试composer init 项目


# 3. 输入作者信息,直接回车可能出现如下提示,有的系统可以直接回车

 Invalid author string.  Must be in the format: John Smith <john@example.com>

# 3.1. 注意必须要符合 John Smith <john@example.com>

Author [, n to skip]: John Smith <john@example.com>


# 4. 输入最低稳定版本,stable, RC, beta, alpha, dev

Minimum Stability []:dev


# 5. 输入项目类型

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


# 6. 输入授权类型

License []:MIT

Define your dependencies.


# 7. 输入依赖信息

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


# 7.1. 如果需要依赖,则输入要安装的依赖

Search for a package:php


# 7.2. 输入版本号Enter the version constraint to require (or leave blank to use the latest version): >=8.1

#  如需多个依赖,则重复以上两个步骤(7.1/8.2)

Search for a package:


# 8. 是否需要require-dev

Would you like to define your dev dependencies (require-dev) interactively [yes]?

{

        "name": "copylian/waybill", # 这是后续composer加载的名称

        "description": "waybill",

        "type": "library",

        "require": {

                "php": ">=8.1"

        },

        "license": "MIT",

        "autoload": {

                "psr-4": {

                        "Waybill\\": "src/"  # 这个是类的namespace

                }

        },

        "authors": [

                {

                        "name": "copylian",

                        "email": "copylian@aikehou.com"

                }

        ],

        "minimum-stability": "dev"

}


# 9. 是否生成composer.json

Do you confirm generation [yes]?


# 现在安装依赖项吗

Would you like to install dependencies now [yes]?


执行完成之后生成对应的目录与文件:

微信图片_20230617005353.png


将git仓库提交到版本库,正常只需要提交src目录、composer.json文件即可,提交完成给git仓库打一个tag,后续composer更新的时候会从最新的tag拉去代码

微信图片_20230617010116.png


三、上传到composer官网:这里必须保证git仓库是开源的,私有的会有权限问题

访问composer镜像官网:https://packagist.org/

登录账号之后在submit页面:https://packagist.org/packages/submit,提交仓库完成之后就可以直接使用了

微信图片_20230617010332.png

微信图片_20230617010359.png

四、使用:直接通过 composer require copylian/xxx,就可以直接使用仓库了

src目录下定义类:

微信图片_20230617010707.png

项目文件加载类:

微信图片_20230617010733.png

参考:

编写自己的composer包

php开发自己的composer包

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!
php composer 

文明上网理性发言!

  • 还没有评论,沙发等你来抢