yggverse / net
1.8.1
2024-07-11 07:10 UTC
README
PHP的原生Yggdrasil支持的网络库
安装
composer require yggverse/net
使用
套接字
检查套接字是否打开
var_dump( \Yggverse\Net\Socket::isOpen('yo.index', 80) );
检查主机有效
var_dump( \Yggverse\Net\Socket::isHost('yo.index') );
检查端口有效
var_dump( \Yggverse\Net\Socket::isPort(80) );
解析
解析记录
var_dump( \Yggverse\Net\Dig::records('yo.index', ['A', 'AAAA'], &$result = [], &$error = [], $provider = null, $timeout = 5) );
检查主机名有效
var_dump( \Yggverse\Net\Dig::isHostName('yo.index') );
检查记录有效
var_dump( \Yggverse\Net\Dig::isRecord('A') );
检查记录值有效
var_dump( \Yggverse\Net\Dig::isRecordValue('A', '127.0.0.1') );
解析
初始化解析器
$resolve = new \Yggverse\Net\Resolve( [ 'A', 'AAAA' ], [ '1.1.1.1', '8.8.8.8' ], // .. );
获取解析的URL字符串
$resolved = $resolve->url( 'https://en.wikipedia.org/wiki/Domain_Name_System' // next arguments contain debug variables and new address object ); if ($resolved) { var_dump( $resolved // https://185.15.59.224/wiki/Domain_Name_System ); }
解析地址对象
$resolved = $resolve->address( new \Yggverse\Net\Address( 'https://en.wikipedia.org/wiki/Domain_Name_System' ) ); if ($resolved) { var_dump( $resolved->get() // https://185.15.59.224/wiki/Domain_Name_System ); var_dump( $resolved->getHost() // 185.15.59.224 ); }
地址
包含处理网络地址的方法。
基本地址方法
地址部分的多种操作
方案用户密码主机协议路径查询片段
从相对地址到绝对地址的转换
文档根目录
$base = new \Yggverse\Net\Address( 'http://yo.ygg/a1/b1/c1' ); $address = new \Yggverse\Net\Address( '/a2' ); var_dump( $address->getAbsolute( $base ) // return http://yo.ygg/a2 );
当前文件夹
$base = new \Yggverse\Net\Address( 'http://yo.ygg/a1/b1/c1' ); $address = new \Yggverse\Net\Address( 'c2' ); var_dump( $address->getAbsolute( $base ) // return http://yo.ygg/a1/b1/c2 );
结束斜杠
$base = new \Yggverse\Net\Address( 'http://yo.ygg/a1/b1/c1/' ); $address = new \Yggverse\Net\Address( '../../b2/c2' ); var_dump( $address->getAbsolute( $base ) // return http://yo.ygg/a1/b2/c2 );
所有选项
$base = new \Yggverse\Net\Address( 'http://user:password@yo.ygg/a1/b1/c1?attribute=value#anchor' ); $address = new \Yggverse\Net\Address( '../../a2/b2?attribute2=value2#anchor2' ); var_dump( $address->getAbsolute( $base ) // return http://user:password@yo.ygg/a2/b2?attribute2=value2#anchor2 );
有效
网络实体验证
支持的方法
Valid::ipValid::ip4Valid::ip6Valid::domainHostName