obf / net-dns
The Opsbears Framework Networking DNS Components
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 3 280
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 5
Forks: 0
Open Issues: 0
Requires
- php: >=5.4
- obf/classloader: 1.*
- obf/foundation: ^0.9.1
- obf/net: ^1.0.1
Requires (Dev)
- apigen/apigen: 4.0.*
- opsbears/coverage-reporter: ^0.0.3
- phing/phing: 2.*
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2020-06-12 18:41:46 UTC
README
Installation
Using composer
To pull in net-dns with all dependencies, run:
composer require obf/net-dns
Manually
To manually install all dependencies, you will need the following OBF packages:
- obf/classloader
- obf/foundation
- obf/net
To include the autoloader, include autoload.php
.
Usage
All DNS functions are included in the OBF\Net\DNS\DNS class. Usage is simple:
<?php use OBF\Net\DNS\DNS; $records = DNS::lookup('example.com', DNS::TYPE_A);
Keep in mind that DNS lookups may return more than one record. If you just want to lookup all IP addresses, you can use
the lookupIP()
function:
<?php use OBF\Net\DNS\DNS; $ipAddresses = DNS::lookupIP('example.com');
This will still give you a list of IP addresses. If you want to narrow it down, you can also specify the IP type:
<?php use OBF\Net\DNS\DNS; $ipv4Addresses = DNS::lookupIP('example.com', DNS::LOOKUP_IPV4); $ipv6Addresses = DNS::lookupIP('example.com', DNS::LOOKUP_IPV6);
Advanced usage
In the unlikely event that you do not want to use the DNS package to mask the built-in PHP DNS lookup functions, but
want to create custom functionality, you can use the non-static version of the DNS utility using the DNSLookup
class:
<?php use OBF\Net\DNS\DNS; $lookup = new DNSLookup(); $ipAddress = $lookup->lookupIP('example.com');
Note that DNSLookup
supports the same calls as the DNS
class does, but in a non-static fashion. If you need to
override the default lookup adapter, you can do so by implementing a custom adapter based on iDNSLookupAdapter
:
<?php class MyDNSLookupAdapter implements iDNSLookupAdapter { public static function lookup($name, $type = DNSRecord::TYPE_ANY) { // Do some magic here. } }