nicodinus / amphp2-dns
Async DNS resolution for PHP based on legacy version of amphp/amp framework (^2.6)
dev-master
2022-08-25 16:35 UTC
Requires
- php: >=7.4
- ext-filter: *
- ext-json: *
- amphp/amp: ^2.6
- amphp/byte-stream: ^1.8
- amphp/parser: ^1
- amphp/windows-registry: ^0.3
- daverandom/libdns: ^2.0.1
- nicodinus/amphp2-cache: dev-master
Requires (Dev)
- amphp/phpunit-util: ^2
- nicodinus/php-cs-fixer-config: dev-master
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.26
Replaces
- amphp/dns: ^1
This package is auto-updated.
Last update: 2025-02-25 22:10:11 UTC
README
amphp/dns
provides asynchronous DNS resolution for PHP based on 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); });