eric-strive/hyperf-tool
Composer 安装命令:
composer require eric-strive/hyperf-tool
包简介
A Devtool for Hyperf.
README 文档
README
功能
- 该组件主要是根据开发扩展一些hyperf的工具,主要有gii工具、swagger的扩展等... 持续跟进中。。。
下载安装包
composer require eric-strive/hyperf-tool
同步配置
php bin/hyperf.php vendor:publish eric-strive/hyperf-tool
- swagger模板配置在
App\Constants\SwaggerTemplate,可以将重复出现的swagger配置在SwaggerTemplate中, 可以极大的简化controller swagger代码量
swagger使用示例 这里需要配合 daodao97/apidog 使用,感谢 hyperf开发中之一刀哥提供如此好用的swagger
- ValidationRequest :template:是配置的模板,这可以将很复杂的注解简化
@ValidationRequest(template="authorization")
- BodyValidation 简化body,这里将结合Request,可以将校验和Request结合,可以复用配置校验
@BodyValidation(validate="DictDetailRequest",scene="search",template="page_search")
- SwaggerResponse 这里是扩展了ApiResponse,可以极大的依赖Request,达到复用以及简化controller代码
@SwaggerResponse(responseClass="DictDetailRequest",scene="response",template="page")
代码生成
- 现将model代码复制放入app\Model
- controller自动生成
php bin/hyperf.php make:controller TestUserController TestModel 测试我的功能
- request自动生成
php bin/hyperf.php make:request RoleRequest roles
导入导出工具
- 导入
$excelImport = new Import($file, $startRow, $endVerifyLine);
$excelImport->process(function ($saveData) {
// 处理$saveData
}, $format);
$file :导入的文件对象,UploadedFile对象
$startRow:文件开始读取的行,如果需要过滤前面的数据可以使用
$endVerifyLine:验证的列,这里防止文件后面空行过多导致报错,验证的行为空时直接终止取数
$saveData:获取的数据
$format:数据对应格式,具体行对应的字段配置
eg:
[
'email' => 2,
'phone' => 1,
'user_name' => 0,
'real_name' => 3,
'job_number' => 0,
]
这里是字段分别对应的列,逻辑会自动根据对应的列来处理数据
- 导出
Download::downloadCsv($fileName, $data, true),$format);
$fileName:导出文件名称
$data:导出数据,这里可以是数组和对象,对象需要时model的对象
$format:数据处理的格式
eg:
[
[
'label' => "真实姓名",
'value' => 'real_name',
'width' => 15,
],
[
'label' => "创建时间",
'value' => 'created_at',
'width' => 20,
],
[
'label' => "类型",
'value' => static function ($model) use ($employeeType) {
return getExistParam($employeeType, $model->type);
},
'width' => 5,
],
]
上面配置:
label:csv头信息
value:取的对象或数组的值,可以是函数
width:该列的宽度,根据实际调整
Download::downloadCsv('test.csv', [[
'real_name'=>'王五',
'created_time'=>'2020-01-02 10:02:12',
'type'=>'测试',
],[
'real_name'=>'张三',
'created_at1'=>'2020-01-23',
'type'=>'类型',
]], [
[
'label' => "真实姓名",
'value' => 'real_name',
'width' => 15,
],
[
'label' => "创建时间",
'value' => 'created_time',
'width' => 20,
],
[
'label' => "类型",
'value' => static function ($model) {
return $model['type'] . '测试类型';
},
'width' => 5,
],
]);
有任何问题请联系 eric-strive@qq.com
eric-strive/hyperf-tool 适用场景与选型建议
eric-strive/hyperf-tool 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.11k 次下载、GitHub Stars 达 6, 最近一次更新时间为 2020 年 11 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「devtool」 「swoole」 「hyperf」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 eric-strive/hyperf-tool 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 eric-strive/hyperf-tool 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 eric-strive/hyperf-tool 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The devtool package for Hypervel.
Devtool for swoft framework
annotations-scan-plugin
The devtool package for Laravel Hyperf.
SForum
Alfabank REST API integration
统计信息
- 总下载量: 1.11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-11-26