mirror of
https://github.com/avecms/AVE.cms.git
synced 2026-08-01 00:45:44 +00:00
1.5 KiB
1.5 KiB
Ip — IP-адрес и гео
App\Helpers\Ip — определение и валидация IP, гео-данные, конвертация. В отличие от
большинства хелперов, имеет и инстанс-режим (new Ip($options)), и статические
методы.
use App\Helpers\Ip;
Определение и проверка
getIp()
IP клиента с учётом прокси-заголовков (X-Forwarded-For и т.п.).
$ip = Ip::getIp();
isValid($ip = null)
Валиден ли IP (по умолчанию — текущий).
if (Ip::isValid($ip)) { ... }
Гео-данные
geoBaseData() — данные из гео-базы.
getValue($key = false, $cookie = true) — значение гео/IP по ключу (с кешем в cookie).
parseString($string) — разобрать строку с IP/гео.
Конвертация
ip2hex($ip) / hex2ip($hex)
IP ↔ hex-представление (компактное хранение/индексация).
$hex = Ip::ip2hex('192.168.0.1');
$ip = Ip::hex2ip($hex);
Инстанс-режим
$geo = new Ip(['some' => 'options']);
// далее методы экземпляра согласно реализации
Для IP именно текущего запроса проще
Request::ip().Ipнужен для валидации, гео и конвертаций.