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.
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