PHPackages                             on1kel/hyperf-fly-docs - 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. [API Development](/categories/api)
4. /
5. on1kel/hyperf-fly-docs

ActiveLibrary[API Development](/categories/api)

on1kel/hyperf-fly-docs
======================

Полуавтоматическая генерация OpenAPI 3.1 документации для Hyperf-приложений.

v1.0.1(4mo ago)0531MITPHPPHP ^8.2

Since Nov 4Pushed 4mo agoCompare

[ Source](https://github.com/on1kel/hyperf-fly-docs)[ Packagist](https://packagist.org/packages/on1kel/hyperf-fly-docs)[ RSS](/packages/on1kel-hyperf-fly-docs/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (13)Versions (3)Used By (1)

Hyperf FlyDocs
==============

[](#hyperf-flydocs)

**Hyperf FlyDocs** — расширение для [Hyperf](https://hyperf.io), которое автоматически формирует и публикует OpenAPI (Swagger) документацию на основе кода и фабрик (`ComplexFactoryInterface`).

Вместо ручного описания аннотаций вы просто указываете `#[Complex(...)]`, а FlyDocs собирает полную спецификацию с параметрами, схемами и ответами.

---

🚀 Возможности
-------------

[](#-возможности)

- Генерация OpenAPI схем из PHP-атрибутов
- Поддержка «комплексов» — декларативных описаний операций (`ComplexFactoryInterface`)
- Автоматическая публикация Swagger UI
- Кеширование спецификаций через `DocsCacheManager`
- Поддержка коллекций (`{tag}`) для разных версий документации
- Интеграция с `On1kel\OAS\Builder`

---

📦 Установка
-----------

[](#-установка)

```
composer require on1kel/hyperf-flydocs
```

Пакет автоматически зарегистрируется через `ConfigProvider`.

---

⚙️ Публикация ресурсов
----------------------

[](#️-публикация-ресурсов)

```
php bin/hyperf.php vendor:publish on1kel/hyperf-flydocs
```

Будут созданы:

IDНазначениеПуть`config`Конфиг FlyDocs`config/autoload/fly-docs.php``ui`Swagger UI файлы`publish/fly-docs`Если конфиг отсутствует — он создаётся автоматически при первом запуске.

---

🌍 Маршруты документации
-----------------------

[](#-маршруты-документации)

МетодПутьНазначение`GET``/fly-docs`Редирект на коллекцию по умолчанию`GET``/fly-docs/{tag}`Swagger UI для выбранной коллекции`GET``/fly-docs/{tag}/api-docs`JSON спецификация OpenAPI`GET``/fly-docs-assets/{path}`Раздача статических файлов UISwagger UI доступен по адресу:

```
http://{host}:{?port}/fly-docs

```

---

🔧 Конфигурация (`config/autoload/fly-docs.php`)
-----------------------------------------------

[](#-конфигурация-configautoloadfly-docsphp)

```
return [
    'default_collection' => 'latest',

    'cache' => [
        'enabled' => true,
        'path' => BASE_PATH . '/runtime/flydocs',
    ],

    'ui' => [
        'index_title' => 'API Documentation',
        'use_cdn' => false, // false = использовать локальные файлы из publish/fly-docs
    ],
];
```

---

✍️ Как документировать контроллеры
----------------------------------

[](#️-как-документировать-контроллеры)

FlyDocs анализирует контроллеры Hyperf и их атрибуты.
Самый важный атрибут — `#[Complex(...)]`, который указывает фабрику для сборки OpenAPI-описания.

### Пример контроллера

[](#пример-контроллера)

```
