# Ip — IP-адрес и гео `App\Helpers\Ip` — определение и валидация IP, гео-данные, конвертация. В отличие от большинства хелперов, имеет и инстанс-режим (`new Ip($options)`), и статические методы. ```php use App\Helpers\Ip; ``` --- ## Определение и проверка ### `getIp()` IP клиента с учётом прокси-заголовков (`X-Forwarded-For` и т.п.). ```php $ip = Ip::getIp(); ``` ### `isValid($ip = null)` Валиден ли IP (по умолчанию — текущий). ```php if (Ip::isValid($ip)) { ... } ``` --- ## Гео-данные ### `geoBaseData()` — данные из гео-базы. ### `getValue($key = false, $cookie = true)` — значение гео/IP по ключу (с кешем в cookie). ### `parseString($string)` — разобрать строку с IP/гео. --- ## Конвертация ### `ip2hex($ip)` / `hex2ip($hex)` IP ↔ hex-представление (компактное хранение/индексация). ```php $hex = Ip::ip2hex('192.168.0.1'); $ip = Ip::hex2ip($hex); ``` --- ## Инстанс-режим ```php $geo = new Ip(['some' => 'options']); // далее методы экземпляра согласно реализации ``` > Для IP именно **текущего запроса** проще `Request::ip()`. `Ip` нужен для > валидации, гео и конвертаций.