Trabalho em andamento - não pronto para uso geral
O AppWrite SDK Generator é uma biblioteca PHP para bibliotecas SDK de geração automática para vários idiomas e plataformas.
O gerador SDK usa configurações de linguagem predefinidas como modelos de galhos para gerar bases de código com base em diferentes especificações da API.
Atualmente, a única especificação suportada é o Swagger 2.0, mas pretendemos adicionar suporte a mais especificações em um futuro próximo. Este gerador ainda não tem suporte para qualquer especificação de definição/modelo.
Instale usando o compositor:
CLI
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-reqsCrie instâncias de idioma e SDK e gerar código para o diretório de destino.
<?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 | Linguagem | Versões suportadas | Padrões de codificação | Gerente de pacotes | Mantenedor |
|---|---|---|---|---|
| Web | ES5+ | Estilo de codificação da NPM | NPM, YARN, | @eldadfux |
| Vibrar | Dardo eficaz | ferramenta de pub | @bartektartanus @almoullim @lohanidamodar | |
| Android (Kotlin, Java) | 5.0+ | Guia do estilo Android | Gradle, Maven | @abnegate |
| iOS, macOS (Swift) | iOS 15+, macOS 11+ | Guia de estilo Swift | Gerente Swift PKG | @abnegate |
| Unidade (CSharp) | ? | Você? |
| Linguagem | Versões suportadas | Padrões de codificação | Gerente de pacotes | Colaboradores |
|---|---|---|---|---|
| TypeScript | Estilo de codificação da NPM | NPM, YARN | @eldadfux | |
| Nodejs | 8, 10, 12 | Estilo de codificação da NPM | NPM, YARN | @eldadfux |
| Php | 7.0+ | Php fig | Compositor | @eldadfux |
| Rubi | 2.4+ | Guia do estilo Ruby | JÓIA | @eldadfux @abnegate |
| Python | 3.5+ | Pep8 | Pip | @eldadfux @abnegate |
| Dardo | 2.7+ | Dardo eficaz | pub | @lohanidamodar |
| Ir | Vá eficaz | vá buscar | @panz3r [@phaus] | |
| .LÍQUIDO | .NET Core 3.1 | C# Convenções de codificação | NUGET | @komemi @torstendittmann |
| D | ? | Você? | ||
| Kotlin | 1.4.31+ | Guia de estilo Kotlin | Gradle, Maven | @abnegate |
| Java | 8+ | Guia do estilo do Google | Gradle, Maven | @abnegate |
| Swift | 5.5+ | Guia de estilo Swift | Gerente Swift PKG | @abnegate |
| Docker cli | Docker Hub | @christyjacob4 |
Todas as contribuições do código, incluindo as de pessoas com acesso commit, devem passar por uma solicitação de tração e ser aprovadas por um desenvolvedor principal antes de serem mescladas. Isso é para garantir uma revisão adequada de todo o código.
Nós realmente ❤️ PULL SOITOS! Se você deseja ajudar, pode aprender mais sobre como contribuir com este projeto no guia de contribuição.
A Licença do MIT (MIT) http://www.opensource.org/license/mit-license.php