Go to file
2019-06-10 21:04:10 +02:00
docs First commit 2019-06-10 19:32:28 +02:00
examples First commit 2019-06-10 19:32:28 +02:00
lib Finalize API 2019-06-10 21:04:10 +02:00
test First commit 2019-06-10 19:32:28 +02:00
.gitattributes First commit 2019-06-10 19:32:28 +02:00
.gitignore Finalize API 2019-06-10 21:04:10 +02:00
.gitmodules First commit 2019-06-10 19:32:28 +02:00
.php_cs.dist First commit 2019-06-10 19:32:28 +02:00
.travis.yml First commit 2019-06-10 19:32:28 +02:00
appveyor.yml First commit 2019-06-10 19:32:28 +02:00
composer.json Finalize API 2019-06-10 21:04:10 +02:00
CONTRIBUTING.md First commit 2019-06-10 19:32:28 +02:00
LICENSE First commit 2019-06-10 19:32:28 +02:00
Makefile First commit 2019-06-10 19:32:28 +02:00
phpunit.xml.dist First commit 2019-06-10 19:32:28 +02:00
README.md First commit 2019-06-10 19:32:28 +02:00

dns

Build Status CoverageStatus License

amphp/dns provides asynchronous DNS name resolution for Amp.

Installation

composer require amphp/dns

Example

<?php

require __DIR__ . '/examples/_bootstrap.php';

use Amp\Dns;
use Amp\Loop;

Loop::run(function () {
    $githubIpv4 = yield Dns\resolve("github.com", Dns\Record::A);
    pretty_print_records("github.com", $githubIpv4);

    $googleIpv4 = Amp\Dns\resolve("google.com", Dns\Record::A);
    $googleIpv6 = Amp\Dns\resolve("google.com", Dns\Record::AAAA);

    $firstGoogleResult = yield Amp\Promise\first([$googleIpv4, $googleIpv6]);
    pretty_print_records("google.com", $firstGoogleResult);

    $combinedGoogleResult = yield Amp\Dns\resolve("google.com");
    pretty_print_records("google.com", $combinedGoogleResult);

    $googleMx = yield Amp\Dns\query("google.com", Amp\Dns\Record::MX);
    pretty_print_records("google.com", $googleMx);
});