保护私人版权,尊重他人版权。转载请注明出处并附带页面链接
一、初始化包
首先
1 | 打开控制台 |
请看下面设置:
1 | ➜ testcomposer composer init |
二、添加自动加载
1 | "autoload": { |
三、添加依赖
1 | "require": { |
可以使用这个不引入只是开发时候需要引入的包 composer install --no-dev
四、目录结构
1 | ├─test 扩展包根目录 |
五、安装phpunit 进行测试
例如 TimeHandle.php 文件里面如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20namespace Lumen\Util;
class TimeHandle
{
/**
* 根据时间戳获取周的时间 1-7 7是周天,系统函数获取的周天是0--这里转换了
*
* @param int $timestamp
* @return int
*/
public static function getWeekFromTimestamp(int $timestamp): int
{
$week = date('w', $timestamp);
if ($week == 0) {
return 7;
}
return (int)$week;
}
}那么tests文件夹里面的 TimeHandleTest.php 文件里面如下:
1
2
3
4
5
6
7
8
9
10
11namespace Lumen\Util\Test;
class TimeHandleTest
{
public function testGetWeekFromTimestamp()
{
$timestamp = 1562484344;//需要测试的日期时间戳
//$this->assertEquals(期望的结果,需要测试的函数返回的结果);
$this->assertEquals(7, TimeHandle::getWeekFromTimestamp($timestamp));
}
}因为命名空间不一样,所以需要在composer.json文件里面设置自动加载
1
2
3
4
5
6"autoload": {
"psr-4": {
"Lumen\\Util\\": "src/",
"Lumen\\Util\\Tests\\": "tests/"
}
}加完后需要使用
composer dump-autoload
composer require phpunit/phpunit
就能够安装单元测试套件然后执行
vendor/bin/phpunit tests
就可以跑tests文件夹里面的测试了
六、发布
如果是内部使用,只需要放到内部的gitlab或者私有github;然后在引用的项目的composer.json如下配置:
1
2
3
4
5
6"repositories": [
{
"type": "git",
"url": "https://github.com/lumening/lumen-hprose.git"
}
],然后执行
composer require "lumening/lumen-hprose"
引入如果需要开源发布提供他人使用则可以如下操作:
- 将代码提交到github,如要设置版本可以自行打tag
- 用github账号授权登录
https://packagist.org/
- 然后在
https://packagist.org/packages/submit
这个网址填入你需要发布的github项目地址 - 然后按提示下一步则可
然后在需要引用的项目根目录执行composer require lumening/lumen-hprose