acamposm / ipv4-address-converter
一个PHP软件包,可以轻松地将IP地址从任何格式转换为任何格式。
Requires
- php: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0.0
- phpunit/phpunit: ^9.5.0
- scrutinizer/ocular: ^1.8.0
This package is auto-updated.
Last update: 2024-09-28 04:55:51 UTC
README
此PHP软件包允许您在Laravel应用程序中执行IPv4地址转换。
功能
该软件包接受一个IP地址作为输入,并将其转换为指定的IP地址格式。
输入和输出可以是以下格式之一:二进制字符串、点分十进制、十六进制字符串或长整数
转换
转换自
- 二进制
- 十进制
- 十六进制
- 长
转换为
- 二进制
- 十进制
- 十六进制
- 长
安装
您可以通过composer安装该软件包,然后发布资产
将库添加到您的composer.json文件中
{ "require": { "acamposm/ipv4-address-converter": "^1.0" } }
或使用composer安装库
composer require acamposm/ipv4-address-converter
注意:我们尽量遵循SemVer v2.0.0。
使用
输入方法
以下是IP地址转换的有效输入方法。
fromBinary
将IP地址转换的输入设置为二进制字符串。
fromDecimal
将IP地址转换的输入设置为点分十进制字符串。
fromHexadecimal
将IP地址转换的输入设置为十六进制字符串。
fromLong
将IP地址转换的输入设置为长整数。
输出方法
以下是之前输入方法中指定IP地址转换的有效输出方法。
toBinary
将二进制字符串设置为所需的输出格式。
toDecimal
将点分十进制设置为所需的输出格式。
toHexadecimal
将十六进制字符串设置为所需的输出格式。
toLong
将长整数设置为所需的输出格式。
修饰符
使用这些修饰符,我们可以控制转换操作的输出。
withDotNotation
此修饰符将应用于转换输出的点表示法,仅适用于二进制字符串和十六进制字符串。
示例输出
从十进制到长整数
此示例显示了如何将点分十进制IP地址转换为长整数IP地址。
use Acamposm\IPv4AddressConverter\IPv4AddressConverter; $converter = IPv4AddressConverter::convert() ->fromDecimal('192.168.10.254') ->toLong() ->get(); var_dump($converter);
转换的输出是一个整数。
int(3232238334)
从十进制到二进制字符串
此示例显示了如何将点分十进制IP地址转换为二进制字符串IP地址。
use Acamposm\IPv4AddressConverter\IPv4AddressConverter; $converter = IPv4AddressConverter::convert() ->fromDecimal('192.168.10.254') ->toBinary() ->get(); var_dump($converter);
输出是一个二进制字符串IP地址。
string(32) "11000000101010000000101011111110"
从十进制到带点表示法的二进制字符串
此示例显示了如何将点分十进制IP地址转换为带点表示法的二进制字符串IP地址。
use Acamposm\IPv4AddressConverter\IPv4AddressConverter; $converter = IPv4AddressConverter::convert() ->fromDecimal('192.168.10.254') ->toBinary() ->withDotNotation() ->get(); var_dump($converter);
输出是一个带点表示法的二进制字符串IP地址。
string(35) "11000000.10101000.00001010.11111110"
从十进制到十六进制
此示例显示了如何将点分十进制IP地址转换为十六进制字符串IP地址。
use Acamposm\IPv4AddressConverter\IPv4AddressConverter; $converter = IPv4AddressConverter::convert() ->fromDecimal('192.168.10.254') ->toHexadecimal() ->get(); var_dump($converter);
转换的输出是一个十六进制字符串IP地址。
string(8) "C0A80AFE"
从十进制到带点表示法的十六进制
此示例显示了如何将点分十进制IP地址转换为带点表示法的十六进制字符串IP地址。
use Acamposm\IPv4AddressConverter\IPv4AddressConverter; $converter = IPv4AddressConverter::convert() ->fromDecimal('192.168.10.254') ->toHexadecimal() ->withDotNotation() ->get(); var_dump($converter);
转换的输出是一个带点表示法的十六进制字符串IP地址。
string(11) "C0.A8.0A.FE"
输出所有
存在一种全能方法,可以将输入地址转换为所有格式。
用于转换的输入地址可以是二进制、十进制、十六进制或长地址。
use Acamposm\IPv4AddressConverter\IPv4AddressConverter; $converter = IPv4AddressConverter::convert() ->fromDecimal('192.168.10.254') ->withDotNotation() ->all(); var_dump($converter);
输出是一个对象,地址已转换为所有格式。
object(stdClass)#638 (4) {
["binary"] =>
string(35) "11000000.10101000.00001010.11111110"
["decimal"] =>
string(14) "192.168.10.254"
["hexadecimal"] =>
string(11) "C0.A8.0A.FE"
["long"] =>
int(3232238334)
}
测试
要运行测试,只需运行此命令
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG.md
贡献
感谢您考虑为改进此包做出贡献。请参阅CONTRIBUTING.md以获取详细信息。
安全漏洞
如果您发现任何与安全相关的问题,请通过angel.campos.m@outlook.com发送电子邮件给Angel Campos,而不是使用问题跟踪器。所有安全漏洞都将得到及时处理。
标准
PHP包IPv4 Address Converter符合以下标准
致谢
Angel Campos
许可证
IPv4 Address Converter包是一个开源包,并使用MIT许可证(MIT)许可。有关更多信息,请参阅许可文件。