marshung / my-composer
通过Composer学习安装GitHub项目
0.1.1
2021-04-22 17:59 UTC
This package is auto-updated.
Last update: 2024-09-23 01:14:19 UTC
README
动态徽章(poser.pugx.org)
静态徽章(shields.io)
练习内容
- 建立Git仓库
- composer包结构
- 发布到packagist.org
- 安装并使用
- 编写READMD
建立Git仓库
在GitHub上建立仓库
克隆到本地
$ cd ~/work/github/
$ git clone git@github.com:marshung24/my-composer.git
初始化composer.json
$ cd ~/work/github/my-composer
$ composer init
建立README.md
推送到GitHub
$ git add ./
$ git commit -m 'init package'
$ git push origin master
最后一步需要加上origin master参数的原因是空仓库没有分支,所以我们需要强制推送本地的master到远端的master,之后可以直接使用git push命令推送而不需要加后面的参数了。
composer包结构
composer.json
- 在包根目录建立composer.json
{ "name": "marshung/my-composer", "description": "Learning Install GitHub Project By Composer", "homepage": "https://github.com/marshung24/my-composer", "type": "library", "license": "MIT", "authors": [ { "name": "Mars Hung", "email": "tfaredxj@gmail.com" } ], "autoload": { "psr-4": { "marshung\\": "src" } }, "minimum-stability": "stable", "require": {} }
建立class
$ cd ~/work/github/my-composer/
$ mkdir src
$ cd src/
$ mkdir hello
$ cd hello/
$ touch HelloWorld.php
<?php
namespace marshung\hello;
class HelloWorld
{
private $name;
public function __construct($name = 'World') {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function hello() {
return 'Hello ' . $this->name . '!';
}
}
提交前测试程序是否有问题
$ cd ~/work/github/my-composer/
$ composer install
建立测试文件
$ cd ~/work/github/my-composer/
$ mkdir test
$ cd test/
$ touch test.php
<?php
require_once "../vendor/autoload.php";
$obj = new \marshung\hello\HelloWorld();
echo $obj->hello();
echo "\n";
$obj = new \marshung\hello\HelloWorld('My Goddess');
echo $obj->hello();
发布到packagist.org
访问Packagist主页,确认自己已经登录,然后点击右上角的“Submit Package”,然后填入我们创建的仓库的地址,点击“Check”,如果没有问题,再点击“Submit”。
设置GitHub Service Hook
安装并使用
$ cd ~/work/github/test
$ composer require marshung/my-composer
版本管理
Composer的版本管理
- 开发版:branch
- 如果分支名为master,版本号为dev-master
- 正式版:tag
- 格式: major.minor.build
- major: [int] 当做了不兼容的修改
- minor: [int] 当做了向下兼容的功能性新增
- build: [int] 当做了向下兼容的问题修正
- 格式: major.minor.build
查看现在分支
$ cd ~/work/github/my-composer
$ git branch
建立新分支0.1(dev)
$ git checkout -b 0.1
$ git commit -m 'update readme, add Hello class demo'
$ git push origin 0.1
建立稳定版本(tag)
$ git tag 0.1.0
$ git push --tags
参考
记录
- 20180414: MarsHung 建立项目
- 20180415: MarsHung 完成初版