Class yii\helpers\BaseIpHelper
| 继承 | yii\helpers\BaseIpHelper |
|---|---|
| 子类 | yii\helpers\IpHelper |
| 可用版本自 | 2.0.14 |
| 源码 | https://github.com/yiichina/yii2/blob/api/framework/helpers/BaseIpHelper.php |
BaseIpHelper 类为 yii\helpers\IpHelper 提供了具体的实现方法
不要使用 BaseIpHelper,使用 yii\helpers\IpHelper 类来代替。
公共方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| expandIPv6() | 将 IPv6 的地址扩展为完整的形式。 | yii\helpers\BaseIpHelper |
| getIpVersion() | 获取 IP 版本。不执行 IP 地址验证。 | yii\helpers\BaseIpHelper |
| inRange() | 检测 IP 地址是否正确或者子网 $subnet 包含了 $subnet。 | yii\helpers\BaseIpHelper |
| ip2bin() | 将 IP 转换成 bits 形式来表示。 | yii\helpers\BaseIpHelper |
常量
| 常量 | 值 | 描述 | 被定义在 |
|---|---|---|---|
| IPV4 | 4 | yii\helpers\BaseIpHelper | |
| IPV4_ADDRESS_LENGTH | 32 | IPv4 地址使用 bits 表示的长度 | yii\helpers\BaseIpHelper |
| IPV6 | 6 | yii\helpers\BaseIpHelper | |
| IPV6_ADDRESS_LENGTH | 128 | IPv6 地址使用 bits 表示的长度 | yii\helpers\BaseIpHelper |
方法详情
将 IPv6 的地址扩展为完整的形式。
例如 2001:db8::1 将被展开成 2001:0db8:0000:0000:0000:0000:0000:0001 这种形式
| public static string expandIPv6($ip) | ||
| $ip | string | 原始有效的 IPv6 地址 |
| return | string | 展开的 IPv6 地址 |
|---|---|---|
获取 IP 版本。不执行 IP 地址验证。
| public static integer getIpVersion($ip) | ||
| $ip | string | 有效地 IPv4 或者 IPv6 地址。 |
| return | integer | |
|---|---|---|
检测 IP 地址是否正确或者子网 $subnet 包含了 $subnet。
例如,下面的代码检查子网 192.168.1.0/24 是否存在子网 192.168.0.0/22:
IpHelper::inRange('192.168.1.0/24', '192.168.0.0/22'); // true
如果您需要检查单个 IP 地址 192.168.1.21 在子网 192.168.1.0/24 中,
你可以用这些例子中的任何一个:
IpHelper::inRange('192.168.1.21', '192.168.1.0/24'); // true
IpHelper::inRange('192.168.1.21/32', '192.168.1.0/24'); // true
参见 https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing.
| public static boolean inRange($subnet, $range) | ||
| $subnet | string | 有效地 IPv4 或者 IPv6 地址或者 CIDR 范围,例如: |
| $range | string | 有效地 IPv4 或者 IPv6 CIDR 范围,例如 |
| return | boolean | $subnet 是否包含 $range 中 |
|---|---|---|
将 IP 转换成 bits 形式来表示。
| public static string ip2bin($ip) | ||
| $ip | string | 有效的 IPv4 或者 IPv6 地址 |
| return | string | Bits 用字符串来表示 |
|---|---|---|