gemini / dns-cloud
DNS 解析云服务 SDK
v0.3.0
2023-08-24 15:42 UTC
Requires
- php: >=8.0
- hyperf/contract: ^3.0
Requires (Dev)
- alibabacloud/alidns-20150109: ^3.0
- alibabacloud/darabonba-openapi: ^0.2.9
- cloudflare/sdk: ^1.3
- friendsofphp/php-cs-fixer: ^3.0
- hyperf/config: ^3.0
- hyperf/support: ^3.0
- mockery/mockery: ^1.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: >=7.0
- swoole/ide-helper: ^4.5
- tencentcloud/dnspod: ^3.0
Suggests
- swow/swow: Required to create swow components.
This package is auto-updated.
Last update: 2024-10-24 18:06:34 UTC
README
安装
composer require gemini/dns-cloud
使用
创建配置
php bin/hyperf.php vendor:publish gemini/dns-cloud
各个平台都有对应的调试工具,如果不知道接口对应的事哪个 Request
,则可以到调试工具里进行查询。
使用阿里云平台
安装组件
composer require alibabacloud/darabonba-openapi composer require alibabacloud/alidns-20150109
设置环境变量
DNS_CLOUD_ALIYUN_ACCESS_KEY_ID="xxx" DNS_CLOUD_ALIYUN_ACCESS_SECRET="xxx"
编写测试代码,我们直接把代码全部写到控制器里,开发者请按照实际情况酌情处理
<?php declare(strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ namespace App\Controller; use AlibabaCloud\SDK\Alidns\V20150109\Alidns; use AlibabaCloud\SDK\Alidns\V20150109\Models\DescribeDnsProductInstancesRequest; use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; use Gemini\DnsCloud\Factory; use Hyperf\Di\Annotation\Inject; class IndexController extends Controller { #[Inject] protected Factory $factory; public function index() { /** @var Alidns $client */ $client = $this->factory->get('aliyun')->client(); $describeDnsProductInstanceRequest = new DescribeDnsProductInstancesRequest(); $runtime = new RuntimeOptions([]); $res = $client->describeDnsProductInstancesWithOptions($describeDnsProductInstanceRequest, $runtime); return $this->response->success($res); } }
使用腾讯云平台
安装组件
composer require tencentcloud/dnspod
设置环境变量
DNS_CLOUD_TENCENT_SECRET_ID="xxx" DNS_CLOUD_TENCENT_SECRET_KEY="xxx"
编写测试代码,我们直接把代码全部写到控制器里,开发者请按照实际情况酌情处理
<?php declare(strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ namespace App\Controller; use Gemini\DnsCloud\Factory; use Hyperf\Di\Annotation\Inject; use TencentCloud\Dnspod\V20210323\Models\DescribeUserDetailRequest; class IndexController extends Controller { #[Inject] protected Factory $factory; public function index() { /** @var Alidns $client */ $client = $this->factory->get('aliyun')->client(); $req = new DescribeUserDetailRequest(); $params = []; $req->fromJsonString(json_encode($params)); $res = $client->DescribeUserDetail($req); return $this->response->success($res); } }
使用 Cloudflare
安装组件
composer require cloudflare/sdk
设置环境变量
DNS_CLOUD_CLOUDFLARE_EMAIL="xxx" DNS_CLOUD_CLOUDFLARE_API_KEY="xxx"
编写测试代码,我们直接把代码全部写到控制器里,开发者请按照实际情况酌情处理
<?php declare(strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ namespace App\Controller; use Cloudflare\API\Adapter\Guzzle; use Cloudflare\API\Endpoints\User; use Gemini\DnsCloud\Factory; use Hyperf\Di\Annotation\Inject; class IndexController extends Controller { #[Inject] protected Factory $factory; public function index() { /** @var Guzzle $client */ $client = $this->factory->get('cloudflare')->client(); $user = new User($client); return $this->response->success($user->getUserID()); } }