Download the PHP package on1kel/hyperf-fly-docs without Composer
On this page you can find all versions of the php package on1kel/hyperf-fly-docs. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package hyperf-fly-docs
Hyperf FlyDocs
Hyperf FlyDocs — расширение для Hyperf, которое автоматически формирует и публикует OpenAPI (Swagger) документацию на основе кода и фабрик (ComplexFactoryInterface).
Вместо ручного описания аннотаций вы просто указываете #[Complex(...)], а FlyDocs собирает полную спецификацию с параметрами, схемами и ответами.
🚀 Возможности
- Генерация OpenAPI схем из PHP-атрибутов
- Поддержка «комплексов» — декларативных описаний операций (
ComplexFactoryInterface) - Автоматическая публикация Swagger UI
- Кеширование спецификаций через
DocsCacheManager - Поддержка коллекций (
{tag}) для разных версий документации - Интеграция с
On1kel\OAS\Builder
📦 Установка
Пакет автоматически зарегистрируется через ConfigProvider.
⚙️ Публикация ресурсов
Будут созданы:
| 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} |
Раздача статических файлов UI |
Swagger UI доступен по адресу:
🔧 Конфигурация (config/autoload/fly-docs.php)
✍️ Как документировать контроллеры
FlyDocs анализирует контроллеры Hyperf и их атрибуты.
Самый важный атрибут — #[Complex(...)], который указывает фабрику для сборки OpenAPI-описания.
Пример контроллера
Этот код сообщает FlyDocs:
- использовать фабрику
IndexActionComplex, - сгенерировать операцию
POST /api/comments/search, - применить модель
Commentи ресурс коллекцииCommentCollection, - добавить все фильтры, пагинацию, экспорт и ответы, определённые фабрикой.
🧩 Что делает Complex-фабрика
ComplexFactoryInterface позволяет описать шаблон операции, который FlyDocs потом применяет к каждому методу.
Пример — IndexActionComplex (входит в пакет HyperfLighty):
Результат работы фабрики — ComplexResultDTO, содержащий:
request_body(RequestBody),parameters(Parameter[]),responses(ResponsesBuilder).
🔄 Генерация и кеш
При старте воркера (GenerateDocsOnWorkerStartListener) FlyDocs:
- Извлекает маршруты (
CollectorRouteExtractor). - Применяет фильтры (
RouteFilter). - Строит операции через фабрики (
ComplexRunner,OperationComposer,OperationMetaResolver). - Сохраняет итоговую спецификацию в кеш (
DocsCacheManager). - Раздаёт JSON и UI через
DocsController.
🖥 Swagger UI
Swagger UI поставляется вместе с пакетом (publish/ui/).
Если UI опубликован — используется локальный вариант.
Если нет — контроллер автоматически подставит CDN-версию.
Путь по умолчанию:
📄 Лицензия
Распространяется под лицензией MIT
💡 Полезно знать
- Весь код генерации располагается в пространстве имён
On1kel\HyperfFlyDocs\Generator. - Все классы, реализующие
ComplexFactoryInterface, могут быть использованы как фабрики для#[Complex(...)]. - Swagger UI можно переопределить или подключить собственный шаблон, разместив файл
publish/fly-docs/index.html.
Hyperf FlyDocs — декларативный способ документировать Hyperf-приложения без ручного редактирования OpenAPI.
All versions of hyperf-fly-docs with dependencies
hyperf/http-server Version ^3.1
hyperf/command Version ^3.1
hyperf/config Version ^3.1
hyperf/http-message Version ^3.1
hyperf/support Version ^3.1
khazhinov/php-support Version ^1.1
on1kel/oas-profile-31 Version ^1.0
on1kel/oas-builder Version ^1.0