1
0
mirror of https://github.com/danog/dns.git synced 2024-11-26 20:14:51 +01:00
Go to file
2016-08-12 10:51:40 -05:00
lib Update for loop registry changes 2016-08-12 10:51:40 -05:00
test Update for Amp v2 2016-08-02 23:57:40 +02:00
.coveralls.yml Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.editorconfig Switch to a new API to enable getting not only the first entry and not only A/AAAA records 2015-09-08 17:27:33 +02:00
.gitattributes Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.gitignore Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.php_cs Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.travis.yml Cache composer dependecies for faster builds 2016-04-01 16:34:32 +02:00
composer.json Update for Amp v2 2016-08-02 23:57:40 +02:00
CONTRIBUTING.md Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
LICENSE Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
phpunit.xml Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
README.md Example syntax error fixed (#1) 2016-07-07 14:38:00 +05:30

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);
});