Hyperf安装

HG
  • 安装
大约 1 分钟

Hyperf安装

在安装本插件时,确保你已成功安装Hyperf的项目并成功运行

安装方法参考:Hyperf2.x安装文档open in new window

1、安装插件

进入项目根目录,执行如下命令:

composer require hg/apidoc

2、生成配置文件

项目根目录下执行:

php bin/hyperf.php vendor:publish hg/apidoc

命令执行后在将在config/autoload目录下生成apidoc.php配置文件

根据项目结构调整apps配置

// /config/autoload/apidoc.php
'apps'           => [
    [
        'title'=>'Api接口',
        // (注意)核对配置文件中此目录是否正确
        'path'=>'app\controller',
        'key'=>'api',
    ]
],

3、注册Apidoc路由

将以下代码复制到config/routes.php

hg\apidoc\providers\HyperfService::register();

4、添加前端页面

下载完成后解压,将apidoc文件夹拷贝到你的项目 public 目录下

打开浏览器访问 http://你的域名/apidoc/index.htmlopen in new window ,出现接口文档页面,表示安装成功。

提示

如果以上地址 访问不了(Not Found),可尝试 配置静态资源open in new window,

配置异常响应

由于框架会对全局异常进行处理,如apidoc的异常未被正确响应,会导致页面打不开或报错,配置以下异常处理来解决问题。

// 找到你的项目所配置的异常处理类,本示例为
// App\Exception\Handler\AppExceptionHandler.php

public function handle(Throwable $throwable, ResponseInterface $response)
{
    // Apidoc 异常处理
    if ($throwable instanceof \hg\apidoc\exception\HttpException) {
        // 格式化输出
        $data = json_encode([
            'code' => $throwable->getCode(),
            'message' => $throwable->getMessage(),
        ], JSON_UNESCAPED_UNICODE);

        // 阻止异常冒泡
        $this->stopPropagation();
        return $response->withStatus($throwable->getStatusCode())->withBody(new SwooleStream($data));
    }

    //....
}