在之前文章中我们介绍了 composer
的安装以及使用,
在这篇文章中我们介绍一下如何进行开发 compsoer
包,
并发布到 packagist.org
上,并进行后续更新。
demo
的新仓库,并克隆至本地。$ git clone git@github.com:kuif/demo.git
$ cd demo
composer.json
文件详细步骤说明
$ composer init
Welcome to the Composer config generator
This command will guide you through creating your composer.json config.
// 1. 输入项目命名空间
// 注意<vendor>/<name> 必须要符合 [a-z0-9_.-]+/[a-z0-9_.-]+
Package name (<vendor>/<name>) [kui/demo]: fengkui/demo
// 2. 项目相关描述
Description []: A demo test package
// 3. 输入作者信息,也可以直接回车
Author [kuifeng <1161634940@qq.com>, n to skip]: fengkui <1161634940@qq.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. 是否引入其他依赖包(不引入键入 no)
Would you like to define your dependencies (require) interactively [yes]? yes
// 如果需要依赖,则输入要安装的依赖
Search for a package: fengkui/supports
// 输入安装版本号
Enter the version constraint to require (or leave blank to use the latest version): *
// 如需多个,则重复以上两个步骤
// 8. 是否需要require-dev
Would you like to define your dev dependencies (require-dev) interactively [yes]? no
// require与require-dev安装依赖区别
// require中所引用的包在线上线下的项目中均会使用
// require-dev中的包只在本地开发的时候使用。
{
"name": "fengkui/demo",
"description": "A demo test package",
"type": "library",
"require": {
"fengkui/supports": "*"
},
"license": "MIT",
"authors": [
{
"name": "fengkui",
"email": "1161634940@qq.com"
}
],
"minimum-stability": "dev"
}
// 9. 是否生成 composer.json
Do you confirm generation [yes]? yes
// 10. 是否生成 .gitignore
Would you like the vendor directory added to your .gitignore [yes]? yes
// 11. 是否要立即安装所有依赖项
Would you like to install dependencies now [yes]? no
在上一步生成的 composer.json
文件中追加,
说明 fengkui\\
为命名空间(注意相关字母大小写)。
"autoload": {
"psr-4": {
"fengkui\\": "src"
}
}
开发相关依赖包在 src
目录下,
同时根据需求添加 README.md、LICENSE 等文件(可不创建),
项目最终结构如下:
├─demo 扩展包根目录
│ ├─src 扩展包代码目录
│ │ ├─Demo.php
│ ├─test 测试目录(不必须)
│ │ ├─test.html
│ │ ├─test.php
│ ├─.gitignore
│ ├─composer.json
│ ├─LICENSE
│ └─README.md
git add .
git commit -m '0.0.1'
git tag 0.0.1 // 记住打一个版本号(标签)
git push origin master
git push origin 0.0.1 // 提交版本
标签删除
git tag -d 0.0.1 // 删除本地标签
git push origin :refs/tags/0.0.1 // 删除远程标签
首先要在 Packagist 上注册账号并登录(可以用 GitHub 直接登录) 接着按照图中步骤进行操作。
操作完成如下图所示,即提交成功
composer require fengkui/demo
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论