Async DNS resolution built on the amp concurrency framework
PHP
Latest commit 5fc1cde Feb 5, 2017 @kelunik kelunik committed with bwoebi Add test for PTR lookup by IP

README.md

dns

Build Status CoverageStatus Unstable License

amphp/dns provides asynchronous DNS name resolution based on the amp concurrency framework.

Required PHP Version

  • PHP 5.5+

Installation

$ composer require amphp/dns:dev-master

Example

<?php

require __DIR__ . '/vendor/autoload.php';

Amp\run(function () {
    $githubIpv4 = (yield Amp\Dns\resolve("github.com", $options = ["types" => Amp\Dns\Record::A]));
    var_dump($githubIpv4);

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

    $firstGoogleResult = (yield Amp\first([$ipv4Result, $ipv6Result]));
    var_dump($firstGoogleResult);

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

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