1
0
mirror of https://github.com/danog/dns.git synced 2024-11-26 20:14:51 +01:00
Go to file
2017-06-17 09:13:58 +02:00
lib Serialize cache entries, use stable versions where possible 2017-06-17 08:31:35 +02:00
test Merge branch 'master' into amp_v2 2017-06-13 12:28:06 -05: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 Update test build 2016-08-23 23:19:20 -05:00
.php_cs Massive refactor using amp/1.0.0 2015-08-01 22:38:25 -04:00
.travis.yml Merge branch 'master' into amp_v2 2017-06-13 12:28:06 -05:00
appveyor.yml Disable PHP 5 on AppVeyor 2017-01-25 08:45:01 +01:00
composer.json Update amphp/file to correct dev-dep 2017-06-17 09:13:58 +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.dist Update test build 2016-08-23 23:19:20 -05: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);
});