Trabajo en progreso: no está listo para el uso general
AppWrite SDK Generator es una biblioteca PHP para bibliotecas SDK de generación automática para múltiples idiomas y plataformas.
El generador SDK utiliza configuraciones de lenguaje predefinidas como plantillas de ramita para generar bases de código basadas en diferentes especificaciones de API.
Actualmente, la única especificación compatible es Swagger 2.0, pero tenemos la intención de agregar soporte para más especificaciones en el futuro cercano. Este generador todavía carece de soporte para cualquier especificación de definición/modelo.
Instalar usando el 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-reqsCree instancias de lenguaje y SDK y genere código para dirigir el directorio.
<?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 | Idioma | Versiones compatibles | Estándares de codificación | Administrador de paquetes | Mantenedor |
|---|---|---|---|---|
| Web | ES5+ | Estilo de codificación de NPM | Npm, hilo, | @eldadfux |
| Aleteo | Dardo efectivo | herramienta de pub | @BartekTartanus @almoullim @lohanidamodar | |
| Android (Kotlin, Java) | 5.0+ | Guía de estilo Android | Gradle, Maven | @renunciar |
| iOS, macOS (Swift) | iOS 15+, macOS 11+ | Guía de estilo rápido | Gerente de PKG Swift | @renunciar |
| Unidad (csharp) | ? | ¿Tú? |
| Idioma | Versiones compatibles | Estándares de codificación | Administrador de paquetes | Colaboradores |
|---|---|---|---|---|
| Mecanografiado | Estilo de codificación de NPM | Npm, hilo | @eldadfux | |
| Nodejs | 8, 10, 12 | Estilo de codificación de NPM | Npm, hilo | @eldadfux |
| Php | 7.0+ | PHP FIG | Compositor | @eldadfux |
| Rubí | 2.4+ | Guía de estilo Ruby | JOYA | @eldadfux @abnegate |
| Pitón | 3.5+ | Pep8 | PEPITA | @eldadfux @abnegate |
| Dardo | 2.7+ | Dardo efectivo | pub | @lohanidamodar |
| Ir | Go Efection | ir a buscar | @Panz3r [@phaus] | |
| .NETO | .NET Core 3.1 | Convenciones de codificación C# | Nuget | @Komemi @TorStendittmann |
| D | ? | ¿Tú? | ||
| Kotlín | 1.4.31+ | Guía de estilo Kotlin | Gradle, Maven | @renunciar |
| Java | 8+ | Guía de estilo de Google | Gradle, Maven | @renunciar |
| Rápido | 5.5+ | Guía de estilo rápido | Gerente de PKG Swift | @renunciar |
| Docker CLI | Centro de acopolador | @Christyjacob4 |
Todas las contribuciones del código, incluidas las personas con acceso de comité, deben pasar por una solicitud de extracción y ser aprobadas por un desarrollador central antes de fusionarse. Esto es para garantizar una revisión adecuada de todo el código.
¡Realmente ❤️ Tire de solicitudes! Si desea ayudar, puede obtener más información sobre cómo puede contribuir a este proyecto en la Guía de contribución.
La licencia MIT (MIT) http://www.opensource.org/licenses/mit-license.php