如何发布一个自己的composer扩展
2017-02-06 09:39
585 查看
简介
如何高效,高质量的开发, 特别是团队中,如果在项目中使用Composer构建代码的组件、类库、脚本、接口等一些基础设施,让开发人员只关注与业务实现。大体步骤
在github上创建一个项目安装composer后编写composer.json
发布代码到github
packagist提交自己的包
设置github的hook
创建项目
github 上创建项目git clone git@github.com:zhu2688/framework.git cd framework
编写composer.json
composer 安装和基本使用 参考文章 Composer php包管理工具
composer 有命令行帮助我们生成 composer.json 文件 ,也可以自己手动编辑 ,具体可以去composer官网阅读 相关文档获得帮助。
composer init ## 中间会填写一些信息,最终会显示下面的字符信息 Search for a package: { "name": "zhu2688/framework", "description": "composer publish demo", "type": "library", "require": { "php": ">=5.6.0", "monolog/monolog": "^1.23", }, "license": "MIT", "authors": [ { "name": "zhu2688", "email": "zhu2688@gmail.com" } ], "minimum-stability": "stable" }
简单说明 :
名字为zhu2688/framework
采用MIT协议发布
需要依赖于 php版本5.6以上 和monolog/monolog 的扩展
发布代码到github
git add. git commit git push
https://github.com/zhu2688/framework 已经有内容了
发布到 packagist
到 packagist 注册一个账号,推荐使用github账号直接注册
然后 右上角 submit
然后在文本框中输入你在github上创建的项目的git地址。packagist会自动检测是否合法。如果合法点击递交即可递交自己的包了。
可以到 此链接 到底我提交的项目主页
设置hook
到github的 设置 选项的 ‘Integrations & services’
右边选择增加 ‘Packagist’ 服务
设置 Packagist 的username,token
提交完成
添砖加瓦
编写代码上面的只是大体流程走了一遍,现在我们开始写自己的php代码
mkdir src cd src touch HelloWorld.php
HelloWorld.php 代码如下:
<?php namespace Soeasy\Demo class HelloWorld { public function __construct($name = 'Soeasy') { $this->name = $name; } public function hello() { return 'Hello '.$this->name.'!'; } } ?>
当然,要引入刚刚写的代码还需要修改 composer.json 文件,加入以下代码
"autoload": { "psr-4": { "Soeasy\\Demo\\": "src" } },
测试安装
提交代码之前,肯定需要测试和验证代码是否有问题了
composer install mkdir example cd example touch test.php
test.php
<?php require_once '../vendor/autoload.php'; $hello = new Soeasy\Demo\HelloWorld('My First test'); echo $hello->hello();
3.发布使用
composer require zhu2688/framework
你会发现有下面提示,在github上没有发布stable版本
[root@centos test]# composer require zhu2688/frameworkDo not run Composer as root/super user! See https://getcomposer.org/root for details
[InvalidArgumentException]
Could not find package zhu2688/framework at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability
require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...
git tag -a 0.0.1 # 本地添加tag 标签 git push origin --tags # 本地标签提交到github
然后其它人就可以使用了
命令行
composer require zhu2688/framework ## 后面也可以指定具体某个分支
在 composer.json 中加入
"zhu2688/framework": "^0.0.2", ## 后面是版本号,具体参考composer用法
赶快去测试下吧
相关链接
packagist 官方网站Composer 中国全量镜像
相关文章推荐
- 【Composer】如何创建并发布一个自己的包
- 轻松发布一个自己的composer扩展
- 如何发布一个包到npm && 如何使用自己发布的npm包 && 如何更新发布到npm的package && 如何更新当前项目的包?
- 如何创建一个自己的Composer包
- 如何发布自己的Composer包
- 创建发布一个自己的 Composer/Packagist 包 (PHP)
- 如何使用Add-on SDK开发一个自己的火狐扩展
- 黄聪:如何使用Add-on SDK开发一个自己的火狐扩展
- 如何创建一个自己的【Composer/Packagist】包
- 发布一个自己写的文件重命名工具,支持正则表达式替换和自定义规则。
- [Delphi]发布一个自己写的家庭光碟管理系统-开放源代码(Delphi)
- relaxlife.net发布一个自己开发的中文分词程序
- relaxlife.net发布一个自己开发的中文分词程序
- 如何制作一个ActiveX控件,并注册和发布,用于web上!(2)
- 如何使自己成为一个幽默的人
- 如何在Tomcat里发布自己的程序
- VC2005下如何发布自己的程序。
- 发布一个自己改写的超简单超漂亮的Html在线编辑器
- VC2005下如何发布自己的程序
- 如何制作一个ActiveX控件,并注册和发布,用于web上!(1)