Um cliente PHP para se comunicar com a API PowerDNS.
Através do Compositor
$ composer require exonet/powerdns-php
Exemplo básico de como criar uma nova zona DNS e inserir alguns registros 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 ),
]);
Veja o diretório de exemplos para mais.
Consulte os lançamentos para obter mais informações sobre o que mudou recentemente.
O teste em várias versões de PHP/PowerDNS pode ser feito usando o docker-compose.yml
fornecido e o script de shell run-tests.sh
:
$ docker-compose up -d
$ ./run-tests.sh
Depois de executar docker-compose up -d
aguarde alguns segundos para que o PowerDNS possa ser inicializado. Você pode deixar os contêineres em execução e chamar o script de teste diversas vezes.
Para testar uma combinação específica de PHP/PowerDNS, você pode fornecer a versão do PHP como primeiro e a versão do PowerDNS como segundo parâmetro:
$ ./run-tests.sh 7.4 4.3
Consulte CONTRIBUTING e CODE_OF_CONDUCT para obter detalhes.
Se você descobrir algum problema relacionado à segurança, envie um e-mail para [email protected] em vez de usar o rastreador de problemas.
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.