anktx/cloud-dns-client
最新稳定版本:0.2.3
Composer 安装命令:
composer require anktx/cloud-dns-client
包简介
Cloud.ru DNS API Client
README 文档
README
For english documentation see README.en.md
Cloud.ru DNS API client
Пакет предоставляет PHP-обёртку для взаимодействия с DNS API Cloud.ru.
Требования
- PHP 8.2 или выше.
Установка
composer require anktx/cloud-dns-client
Общие указания
Для ваимодействия Cloud.ru DNS API,
необходимо создать экземпляр класса CloudDnsApi. Это класс требует реализацию интерфейса
PSR-18 ClientInterface и HttpAdapter,
который в свою очередь требует реализации PSR-17 RequestFactoryInterface
и StreamFactoryInterface.
Вы можете использовать пакеты kriswallsmith/buzz и nyholm/psr7 для этого:
composer require kriswallsmith/buzz nyholm/psr7
Вот как можно создать экзмепляр CloudDnsApi:
use Anktx\Cloud\Dns\Client\Client\HttpAdapter; use Anktx\Cloud\Dns\Client\CloudDnsApi; use Buzz\Client\Curl; use Nyholm\Psr7\Factory\Psr17Factory; // Зависимости $psr17Factory = new Psr17Factory(); $httpAdapter = new HttpAdapter($psr17Factory, $psr17Factory); $httpClient = new Curl($psr17Factory); // API $api = new CloudDnsApi( client: $httpClient, httpAdapter: $httpAdapter, );
Сначала получите токен аутентификации и передате его в HttpAdapter:
$token = $api->authenticate('CLIENT_ID', 'CLIENT_SECRET'); $httpAdapter->setToken($token);
Теперь вы можете использовать экземпляр $api для взаимодействия с Cloud.ru DNS API.
// Получение зон $api->getZones('PROJECT_ID'); // Создание зоны $api->createZone('New zone', 'PROJECT_ID');
Результат будет либо экземпляром FailResult (в случае ошибки), либо объектом соответствующего типа (в случае успеха). Например:
// Результат - коллекция объектов `Record` $records = $api->getRecords('ZONE_ID'); foreach ($records as $record) { echo 'name: ' . $record->name . ' ttl: ' . $record->ttl . \PHP_EOL; }
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2024-08-07