封装composer包

打开github创建一个新仓库

封装composer包_第1张图片

 在本地拉取刚才创建的仓库

封装composer包_第2张图片

因为网络问题可能会遇到拉取不成功问题多少几次就行 遇到ssl证书问题执行

git config --global http.sslVerify "false"

composer初始化 

进入项目目录 进行初始化

cd composer/
composer init

 封装composer包_第3张图片

配置

#给你的包取过名字

Package name (/) [inuo/sms]: 你的包名

#给你的包做个简短的介绍

Description []: 介绍可以直接回车

#备注包的作者信息

Author [qinii <[email protected]>, n to skip]: 可以直接回车

#包的最低稳定版本 给个dev或跳过

Minimum Stability []:给个dev或跳过

#包的封装类型 选择 库

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

#包的授权协议 开源协议

License []: MIT

Define your dependencies.

#是否需要添加其他的依赖库,我选择是

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

#这里搜索你需要依赖的库的名称

Search for a package: php

Warning from https://mirrors.aliyun.com/composer: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2

#输入依赖库的要求 我输入 >=7.0

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

#不需要其他依赖了 以下几项直接回车

根据需求修改composer.json

{
    "name": "", #包名称
    "description": "",#包描述信息
    "type": "library",#类型,可选e.g. library, project, metapackage, composer-plugin
    "license": "MIT",#开源协议
    "authors": [
        {
            "name": "",#作者
            "email": ""#邮箱
        }
    ],
    "require": { # 需要安装的扩展
        "php": ">=7.1.0",
    },
    "autoload": { # 自动加载: 注意了, 这里有 psr-4, psr-2 多种规范, 并且,注意目录和命名空间
        "psr-4": {
            "lishuo\\": "src"
        }
    }
}

 修改完之后执行命令重新载入

composer dump-autoload

创建基本包代码 

这里对应上面的autoload->psr-4里面的配置,还有flies配置 先创建一个src目录在src目录下创建代码

封装composer包_第4张图片

提交到github仓库 

// 进入项目目录

// 推送
git add .

// 提交本地仓库
git commite -m 'first'

// 推送到远程仓库
git push

提交到packagist 

打开packagist 官网Packagist

 没有账号先注册 注册完成后点击首页submit

封装composer包_第5张图片

输入你的仓库地址

封装composer包_第6张图片

点击check如果遇到

封装composer包_第7张图片

 证明你的包名已被别人使用了   在composer.json中把你的包名(name)修改一下保存提交到远程仓库  然后就可以正常check了

封装composer包_第8张图片

 直接submit

封装composer包_第9张图片

 生成composer命令

如果执行命令不成功说明你的包没有版本号,你的包要进行发布版本信息,也就是说你的github仓库要新增tag标签就行了。

你可能感兴趣的:(PHP后端,composer,php)