Работа в процессе - не готова к общему использованию
Appwrite SDK Generator-это библиотека PHP для автоматического генерирования библиотек SDK для нескольких языков и платформ.
Генератор SDK использует предопределенные настройки языка в качестве шаблонов ветки для генерации кодовых баз на основе различных спецификаций API.
В настоящее время единственная поддерживаемая спецификация - Swagger 2.0, но мы намерены добавить поддержку для большей спецификации в ближайшем будущем. Этот генератор по -прежнему не хватает поддержки для любых спецификаций определения/модели.
Установите с помощью композитора:
Кли
composer update --ignore-platform-reqs --optimize-autoloaderDocker (Unix)
docker run --rm --interactive --tty --volume " $( pwd ) " :/app composer install --ignore-platform-reqsDocker (Windows)
docker run --rm --interactive --tty --volume " %cd% " :/app composer install --ignore-platform-reqsСоздайте экземпляры языка и SDK и генерируйте код для целевого каталога.
<?php
require_once ' vendor/autoload.php ' ;
use Appwrite Spec Swagger2 ;
use Appwrite SDK SDK ;
use Appwrite SDK Language PHP ;
// Read API specification file (Swagger 2) and create spec instance
$ spec = new Swagger2 ( file_get_contents ( ' https://appwrite.io/v1/open-api-2.json?extension=1 ' ));
// Create language instance
$ lang = new PHP ();
$ lang // Set language or platform specific options
-> setComposerPackage ( ' my-api ' )
-> setComposerVendor ( ' my-company ' )
;
// Create the SDK object with the language and spec instances
$ sdk = new SDK ( $ lang , $ spec );
$ sdk
-> setLogo ( ' https://appwrite.io/v1/images/console.png ' )
-> setLicenseContent ( ' License content here. ' )
-> setVersion ( ' v1.1.0 ' )
;
$ sdk -> generate ( __DIR__ . ' /examples/php ' ); // Generate source code | Язык | Поддерживаемые версии | Стандарты кодирования | Менеджер пакетов | Сопровождающий |
|---|---|---|---|---|
| Веб - | ES5+ | Стиль кодирования NPM | Npm, пряжа, | @eldadfux |
| Разветвление | Эффективный дротик | Паб инструмент | @bartektartanus @almoullim @lohanidamodar | |
| Android (Kotlin, Java) | 5,0+ | Руководство по стилю Android | Грэдл, Мавен | @abnegate |
| iOS, macOS (Swift) | iOS 15+, macOS 11+ | Руководство по быстрому стилю | Swift Pkg Manager | @abnegate |
| Единство (Csharp) | ? | Ты? |
| Язык | Поддерживаемые версии | Стандарты кодирования | Менеджер пакетов | Участники |
|---|---|---|---|---|
| Машинопись | Стиль кодирования NPM | NPM, пряжа | @eldadfux | |
| Nodejs | 8, 10, 12 | Стиль кодирования NPM | NPM, пряжа | @eldadfux |
| PHP | 7,0+ | PHP рис | Композитор | @eldadfux |
| Рубин | 2.4+ | Рубиновое руководство по стилю | Жемчужина | @eldadfux @abnegate |
| Питон | 3,5+ | PEP8 | Пип | @eldadfux @abnegate |
| Дрэк | 2.7+ | Эффективный дротик | паб | @lohanidamodar |
| Идти | Эффективно идти | Получить | @panz3r [@phaus] | |
| .СЕТЬ | .NET CORE 3.1 | C# Конвенции кодирования | Nuget | @komemi @torstendittmann |
| Дюймовый | ? | Ты? | ||
| Котлин | 1.4.31+ | Руководство по стилю Kotlin | Грэдл, Мавен | @abnegate |
| Ява | 8+ | Руководство по стилю Google | Грэдл, Мавен | @abnegate |
| Быстрый | 5,5+ | Руководство по быстрому стилю | Swift Pkg Manager | @abnegate |
| Docker Cli | Docker Hub | @christyjacob4 |
Все взносы кода, в том числе люди с доступом к коммитировке, должны пройти запрос на вытягивание и быть одобренным основным разработчиком, прежде чем быть объединенным. Это для обеспечения надлежащего обзора всего кода.
Мы действительно ❤ запросы на то! Если вы хотите помочь, вы можете узнать больше о том, как вы можете внести свой вклад в этот проект в Руководстве.
Лицензия MIT (MIT) http://www.opensource.org/licenses/mit-license.php