exonet / powerdns-php
PowerDNS API PHP 客户端
v4.6.2
2024-09-09 09:31 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.2
- psr/log: ^1.0|^2.0|^3.0
Requires (Dev)
- dms/phpunit-arraysubset-asserts: ^0.2.1 || ^0.4.0 || ^0.5.0
- mockery/mockery: ^1.2
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-09 09:33:14 UTC
README
powerdns-php
一个用于与 PowerDNS API 通信的 PHP 客户端。
安装
通过 Composer
$ composer require exonet/powerdns-php
使用方法
创建一个新的 DNS 区域并插入一些 DNS 记录的基本示例。
use Exonet\Powerdns\Powerdns; use Exonet\Powerdns\RecordType; use Exonet\Powerdns\Resources\ResourceRecord; use Exonet\Powerdns\Resources\Record; // Initialize the Powerdns client. $powerdns = new Powerdns('127.0.0.1', 'powerdns_secret_string'); // Create a new zone. $zone = $powerdns->createZone( 'example.com', ['ns1.example.com.', 'ns2.example.com.'] ); // Add two DNS records to the zone. $zone->create([ ['type' => RecordType::A, 'content' => '127.0.0.1', 'ttl' => 60, 'name' => '@'], ['type' => RecordType::A, 'content' => '127.0.0.1', 'ttl' => 60, 'name' => 'www'], ]); // OR use the Object-based way $zone->create([ (new ResourceRecord())->setType(RecordType::A)->setRecord('127.0.0.1')->setName('@')->setTtl(60), (new ResourceRecord())->setType(RecordType::A)->setRecord((new Record())->setContent('127.0.0.1'))->setName('@')->setTtl(60), ]);
更多示例请参阅 示例目录。
变更日志
有关最近变更的更多信息,请参阅 发布。
测试
可以通过使用提供的 docker-compose.yml
和 run-tests.sh
脚本来测试多个 PHP / PowerDNS 版本。
$ docker-compose up -d $ ./run-tests.sh
运行 docker-compose up -d
后,等待几秒钟以便初始化 PowerDNS。您可以保持容器运行并多次调用测试脚本。
要测试特定的 PHP / PowerDNS 组合,您可以提供 PHP 版本作为第一个参数,PowerDNS 版本作为第二个参数。
$ ./run-tests.sh 7.4 4.3
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 development@exonet.nl 报告,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。