Travail en cours - pas prêt pour l'utilisation générale
Le générateur SDK AppWrite est une bibliothèque PHP pour les bibliothèques SDK de génération automatique pour plusieurs langages et plates-formes.
Le générateur SDK utilise des paramètres de langage prédéfinis comme modèles de brindilles pour générer des bases de code basées sur différentes spécifications d'API.
Actuellement, la seule spécification prise en charge est Swagger 2.0, mais nous avons l'intention d'ajouter un support pour plus de spécifications dans un avenir proche. Ce générateur manque toujours de prise en charge des spécifications de définition / modèle.
Installer à l'aide du compositeur:
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-reqsCréez des instances de langue et de SDK et générer du code pour cibler le répertoire.
<?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 | Langue | Versions prises en charge | Normes de codage | Gestionnaire de packages | Maintienneur |
|---|---|---|---|---|
| Web | Es5 + | Style de codage NPM | Npm, fil, | @ELDADFUX |
| Battement | Fléchette efficace | outil de pub | @bartektartanus @alloulim @lohanidamodar | |
| Android (Kotlin, Java) | 5.0+ | Guide de style Android | Gradle, Maven | @renoncer à |
| iOS, macOS (Swift) | iOS 15+, macOS 11+ | Guide de style rapide | Swift PKG Manager | @renoncer à |
| Unity (CSHARP) | ? | Toi? |
| Langue | Versions prises en charge | Normes de codage | Gestionnaire de packages | Contributeurs |
|---|---|---|---|---|
| Manuscrit | Style de codage NPM | Npm, fil | @ELDADFUX | |
| Nodejs | 8, 10, 12 | Style de codage NPM | Npm, fil | @ELDADFUX |
| Php | 7.0+ | Fig PHP | Compositeur | @ELDADFUX |
| Rubis | 2.4+ | Guide de style Ruby | GEMME | @eldadfux @abnegate |
| Python | 3.5+ | Pep8 | PÉPIN | @eldadfux @abnegate |
| Dard | 2.7+ | Fléchette efficace | pub | @lohanidamodar |
| Aller | Aller efficace | aller chercher | @ panz3r [@phaus] | |
| .FILET | .NET Core 3.1 | C # Conventions de codage | Nuget | @komemi @torstendittmann |
| D | ? | Toi? | ||
| Kotlin | 1.4.31+ | Guide de style Kotlin | Gradle, Maven | @renoncer à |
| Java | 8+ | Guide de style Google | Gradle, Maven | @renoncer à |
| Rapide | 5.5+ | Guide de style rapide | Swift PKG Manager | @renoncer à |
| Docker CLI | Hub docker | @ christyjacob4 |
Toutes les contributions du code, y compris celles par des personnes ayant un accès commecent, doivent passer par une demande de traction et être approuvées par un développeur de base avant d'être fusionnée. Il s'agit d'assurer un examen approprié de tout le code.
Nous avons vraiment des demandes de traction! Si vous souhaitez vous aider, vous pouvez en savoir plus sur la façon dont vous pouvez contribuer à ce projet dans le guide de contribution.
La licence MIT (MIT) http://www.opensource.org/licenses/mit-license.php