defa-public / swagger-code-gen
Библиотека для генерации API на основе Swagger-схемы
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Requires
- php: ~7.0
Requires (Dev)
- nette/php-generator: ^3.0
- phpunit/phpunit: ^5.4
- symfony/console: ~3.4.20
This package is auto-updated.
Last update: 2022-03-25 20:14:17 UTC
README
Генератор контроллеров, валидаторов, роутов (base API) на основе Swagger-схемы
Установка
Composer
$ composer require defa-public/swagger-code-gen
Возможности
- Генерация роутов (с сохранением старого варианта роута)
- Генерация валидаторов
- Генерация контроллеров с привязкой к `Response::classи входному порту в приложение (пример:HttpPort\\Auth::login`)
Драйверы
Нужны для добавления поддержки различных фреймворков.
Текущие драйверы:
- Lumen ^5.5 (lumen5) - beta
- Laravel ^5.5 (laravel5) - alpha
- Symfony ^3 (symfony3) ?- в разработке
- Symfony ^4 (symfony4) - в разработке
- Zend Expressive (FastRouter/(Pimple/Aura.Di)/Twig/Whoops) - ?- в разработке (под вопросом)
Для создания собственных драйверов, нужно унаследоваться от класса `Defa\SwaggerCodeGen\Driver
и указать его в конфигурационном объекте Defa\SwaggerCodeGen\Config\BaseConfig` в соответствующем поле
Конфигурирование
Конфигурирование осуществляется путём создания объекта класса `Defa\SwaggerCodeGen\Config\BaseConfig
и передачи этого объекта на вход объекту класса Defa\SwaggerCodeGen\Scheme`
Консольные команды
Обязательные параметры:
- `scheme-path=path/to/scheme` - путь до схемы (можно указывать uri) *обязательный
Параметры на выбор (должен быть указан любой из них):
- `--validators` - генерирует только валидаторы
- `--all` - генерирует все необходимые классы
- `--refresh` - удаляет и создаёт заново все созданные (совпадающие с генерируемыми) файлы/папки
Примеры
<?php 
//Example Code