appwrite/sdk-generator

Appwrite PHP 库,用于生成多种编程语言和平台上的 API SDK

安装量: 46,648

依赖项: 1

建议者: 0

安全: 0

星标: 272

关注者: 23

分支: 167

开放问题: 55

语言:Twig

0.39.21 2024-09-10 08:49 UTC

This package is auto-updated.

Last update: 2024-09-20 18:27:21 UTC


README

Discord Build Status Twitter Account Follow Appwrite on StackShare appwrite.io

正在进行中 - 不适用于通用使用

Appwrite SDK 生成器是一个 PHP 库,用于自动生成多种语言和平台的 SDK 库。

SDK 生成器使用预定义的语言设置作为 Twig 模板,根据不同的 API 规范生成代码库。

目前,仅支持 Swagger 2.0 规范,但我们计划在不久的将来添加对更多规范的支持。此生成器仍不支持任何定义/模型规范。

入门指南

使用 composer 安装

命令行界面

composer update --ignore-platform-reqs --optimize-autoloader

Docker (UNIX)

docker run --rm --interactive --tty --volume "$(pwd)":/app composer install --ignore-platform-reqs

Docker (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

支持的规范

支持客户端/平台 SDK

支持服务器 SDK

贡献

所有代码贡献,包括具有提交访问权限的人的贡献,都必须通过 pull request,并由核心开发者批准后才能合并。这是为了确保对所有代码进行适当的审查。

我们真的喜欢 pull request!如果您想帮忙,您可以在 贡献指南 中了解更多关于如何为此项目做出贡献的信息。

版权和许可

MIT 许可证 (MIT) http://www.opensource.org/licenses/mit-license.php