sdk generator
1.0.0
進行中の作業 - 一般的な使用の準備ができていません
AppWrite SDKジェネレーターは、複数の言語とプラットフォーム用の自動生成SDKライブラリのPHPライブラリです。
SDKジェネレーターは、事前定義された言語設定をTwigテンプレートとして使用して、異なるAPI仕様に基づいてコードベースを生成します。
現在、サポートされている唯一の仕様はSwagger 2.0ですが、近い将来、より多くの仕様のサポートを追加するつもりです。このジェネレーターには、定義/モデルの仕様に対するサポートがまだ不足しています。
Composerを使用してインストールします:
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-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スタイルガイド | Gradle、Maven | @abnegate |
| iOS、macos(迅速) | iOS 15+、macos 11+ | 迅速なスタイルガイド | Swift PKGマネージャー | @abnegate |
| unity(csharp) | ? | あなた? |
| 言語 | サポートされているバージョン | コーディング基準 | パッケージマネージャー | 貢献者 |
|---|---|---|---|---|
| タイプスクリプト | NPMコーディングスタイル | NPM、糸 | @eldadfux | |
| nodejs | 8、10、12 | NPMコーディングスタイル | NPM、糸 | @eldadfux |
| Php | 7.0+ | PHP図 | 作曲家 | @eldadfux |
| ルビー | 2.4+ | ルビースタイルガイド | 宝石 | @eldadfux @abnegate |
| Python | 3.5+ | PEP8 | ピップ | @eldadfux @abnegate |
| ダート | 2.7+ | 効果的なダーツ | パブ | @lohanidamodar |
| 行く | 効果的なGO | 取得してください | @panz3r [@phaus] | |
| 。ネット | .NETコア3.1 | C#コーディング規則 | ヌゲット | @komemi @torstendittmann |
| d | ? | あなた? | ||
| コトリン | 1.4.31+ | コトリンスタイルガイド | Gradle、Maven | @abnegate |
| Java | 8+ | Googleスタイルガイド | Gradle、Maven | @abnegate |
| 迅速 | 5.5+ | 迅速なスタイルガイド | Swift PKGマネージャー | @abnegate |
| DockerCli | Dockerハブ | @christyjacob4 |
コミットアクセスのある人によるコードの貢献はすべて、統合される前にコア開発者によって承認され、承認される必要があります。これは、すべてのコードを適切に確認するためです。
私たちは本当にリクエストをプルします!支援を希望する場合は、貢献ガイドでこのプロジェクトにどのように貢献できるかについて詳しく知ることができます。
MITライセンス(MIT)http://www.opensource.org/licenses/mit-license.php