PHPackages                             chive/hyperf - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. chive/hyperf

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

chive/hyperf
============

非官方包，学习交流,hyperf工具类

03PHP

Since Dec 11Pushed 4y ago1 watchersCompare

[ Source](https://github.com/yzdzh/hyperf_chive)[ Packagist](https://packagist.org/packages/chive/hyperf)[ RSS](/packages/chive-hyperf/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

chive
=====

[](#chive)

hyperf辅助工具

```
1.根据规则生成路由文件（区别于@AutoController）
2.根据注解生成Swagger api文档
3.通过入参注解进行参数校验
4.通过创建命令自动创建项目架构文件

```

---

==安装==
------

[](#安装)

```
composer require chive/hyperf

```

引用了hyperf框架的组件

```
# 验证器组件
composer require hyperf/validation

1.使用过程中会输出日志，最好将example/config/logger.php配置复制到项目config/autoload/logger.php中。
2.使用过程中会抛出错误，建议将错误处理文件配置"\Chive\Exception\Handler\BusinessExceptionHandler::class"，加入config/autoload/exceptions.php配置文件中。

```

### 使用

[](#使用)

#### 发布配置文件

[](#发布配置文件)

发布配置文件config/autoload/chive.php

```
php bin/hyperf.php vendor:publish chive/hyperf

# hyperf/validation 的依赖发布
php bin/hyperf.php vendor:publish hyperf/translation
```

当启动程序时，chive执行流程：

```
-->程序启动
-->chive监听BootApplication::class服务启动事件 {
    -->(默认开)执行make(RoutesService::class)->main()，生成路由文件config/route.php
    -->(默认开)执行make(CreatePathService::class)->main()，创建资源目录
    -->(默认关)执行make(SwaggerService::class)->main()，生成总的swagger.json文件
    -->(默认关)执行make(SwaggerBranchService::class)->main()，按controller文件生成分的swagger，方便分模块开发修改Yapi文档
}
-->chive完成启动前执行，继续hyerf后面执行

```

---

==使用例子==
--------

[](#使用例子)

#### 1.创建数据表demo

[](#1创建数据表demo)

```
CREATE TABLE `demo` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `type` int(255) unsigned NOT NULL DEFAULT '0' COMMENT 'demo_type类型，1安德鲁，2德玛西亚',
  `content` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '文本内容',
  `created_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
  `updated_at` int(10) unsigned NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='例示表';

```

#### 2.配置数据库配置后，创建Model

[](#2配置数据库配置后创建model)

```
php bin/hyperf.php gen:model --with-comments demo

```

创建model后，将"class Demo extends Model{}"继承的Model中添加，改变model默认存储时间的格式为时间戳。

```
protected $dateFormat = 'U';

```

或者：把Model改为继承Chive\\Model\\Model;类，例：

```
