Download the PHP package vvvladv/evo-swagger without Composer
On this page you can find all versions of the php package vvvladv/evo-swagger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vvvladv/evo-swagger
More information about vvvladv/evo-swagger
Files in vvvladv/evo-swagger
Package evo-swagger
Short Description OpenAPI / Swagger UI manager module and apidocs:generate for Evolution CMS
License MIT
Informations about the package evo-swagger
evo-swagger
Пакет для Evolution CMS 3: модуль менеджера «API документация» (Swagger UI) и команда apidocs:generate.
Спецификация в пакет не входит. Генератор сканирует каталоги вашего проекта и собирает OpenAPI из атрибутов #[OA\*].
Требования
- Evolution CMS 3.x
- PHP >= 8.2
Установка
Из каталога core сайта:
Через Composer (VCS), в composer.json ядра или core/custom/composer.json:
| Шаг | Результат |
|---|---|
composer update |
Пакет и zircote/swagger-php в vendor |
package:discover |
Регистрация service provider |
| Первый boot | Автокопия core/custom/config/evo-swagger.php, если файла нет |
package:discover читает core/custom/composer.json, а не core/composer.json — если провайдер не зарегистрировался, требование пакета лежит не там.
Модуль и Swagger UI работают из пакета (vendor). URL статики строится относительно MODX_BASE_PATH.
Если vendor не отдаётся по HTTP:
Публикация обязательна, если пользуетесь кнопкой «Сгенерировать»: её обработчик ajax.php должен быть доступен по HTTP.
Повторная публикация конфига:
Модуль
Две вкладки:
- Спецификация — Swagger UI. Строится сканированием при каждом открытии страницы, файл для этого не нужен.
- Параметры — настройки. Сохранение перезаписывает
core/custom/config/evo-swagger.phpцеликом, комментарии в нём не переживают.
Кнопка Сгенерировать пишет спецификацию в файл и перерисовывает Swagger UI на месте.
Требуется право exec_module.
Настройка
Файл: core/custom/config/evo-swagger.php. Редактируется руками или на вкладке «Параметры».
| Ключ | Смысл |
|---|---|
openapi |
3.0.0 или 3.1.0 |
controllers_path |
Каталоги с #[OA\*]. Список; строка тоже принимается — формат прежних конфигов |
output |
Файл спецификации. null → assets/modules/ApiDocs/docs/openapi.json. Расширение задаёт формат: .json, .yaml, .yml |
module_name |
Подпись модуля в меню менеджера |
Пути. Относительные считаются от MODX_BASE_PATH, абсолютные берутся как есть. Храните относительные — конфиг переживёт переезд проекта.
Несуществующий каталог не ошибка: он сохраняется, помечается в интерфейсе как ненайденный и пропускается при сканировании. Если не найден ни один — генерация падает.
Использование
- Менеджер → модуль API документация
- CLI:
php artisan apidocs:generate - Опции:
--output=,--format=json|yaml
--output подчиняется тому же правилу: относительный путь считается от корня сайта, а не от core, откуда запускается artisan.
Генератор загружает каждый класс в просканированных каталогах. Если класс требует окружения EVO (константы, хелперы), запускайте команду через artisan — вне EVO загрузка упадёт.