Spec-Zone.ru › CodeIgniter 4

Класс User Agent

Класс User Agent предоставляет функции, которые помогают определить информацию о браузере, мобильном устройстве или роботе, посещающем ваш сайт.

  • Использование класса User Agent
    • Инициализация класса
    • Определения User Agent
    • Пример
  • Справочник класса

Использование класса User Agent

Инициализация класса

Класс User Agent всегда доступен непосредственно из текущего экземпляра IncomingRequest. По умолчанию у вас будет экземпляр запроса в вашем контроллере, из которого можно извлечь класс User Agent:

$agent = $this->request->getUserAgent();

Определения User Agent

Определения имен user agent находятся в файле конфигурации по адресу: app/Config/UserAgents.php. При необходимости вы можете добавлять элементы в различные массивы user agent.

Пример

При инициализации класса User Agent будет выполнена попытка определить, является ли пользовательский агент, просматривающий ваш сайт, веб-браузером, мобильным устройством или роботом. Также будет собрана информация о платформе, если она доступна:

$agent = $this->request->getUserAgent();

if ($agent->isBrowser()) {
    $currentAgent = $agent->getBrowser() . ' ' . $agent->getVersion();
} elseif ($agent->isRobot()) {
    $currentAgent = $agent->getRobot();
} elseif ($agent->isMobile()) {
    $currentAgent = $agent->getMobile();
} else {
    $currentAgent = 'Unidentified User Agent';
}

echo $currentAgent;

echo $agent->getPlatform(); // Platform info (Windows, Linux, Mac, etc.)

Справочник класса

CodeIgniter\HTTP\UserAgent
isBrowser([$key = null])
Параметры:
  • $key (string) – Необязательное имя браузера
Возвращает:

true, если пользовательский агент является (указанным) браузером, false — в противном случае

Тип возвращаемого значения:

bool

Возвращает true/false (булево значение), если пользовательский агент является известным веб-браузером.

if ($agent->isBrowser('Safari')) {
    echo 'You are using Safari.';
} elseif ($agent->isBrowser()) {
    echo 'You are using a browser.';
}

Примечание

Строка “Safari” в этом примере является ключом массива в списке определений браузеров. Вы можете найти этот список в app/Config/UserAgents.php, если хотите добавить новые браузеры или изменить строки.

isMobile([$key = null])
Параметры:
  • $key (string) – Необязательное имя мобильного устройства
Возвращает:

true, если пользовательский агент является (указанным) мобильным устройством, false — в противном случае

Тип возвращаемого значения:

bool

Возвращает true/false (булево значение), если пользовательский агент является известным мобильным устройством.

if ($agent->isMobile('iphone')) {
    echo view('iphone/home');
} elseif ($agent->isMobile()) {
    echo view('mobile/home');
} else {
    echo view('web/home');
}
isRobot([$key = null])
Параметры:
  • $key (string) – Необязательное имя робота
Возвращает:

true, если пользовательский агент является (указанным) роботом, false — в противном случае

Тип возвращаемого значения:

bool

Возвращает true/false (булево значение), если пользовательский агент является известным роботом.

Примечание

Библиотека user agent содержит только наиболее распространённые определения роботов. Это неполный список ботов. Их сотни, поэтому поиск каждого из них неэффективен. Если вы обнаружите, что некоторые боты, которые часто посещают ваш сайт, отсутствуют в списке, вы можете добавить их в файл app/Config/UserAgents.php.

isReferral()
Возвращает: true, если пользовательский агент является реферером, false — в противном случае
Тип возвращаемого значения: bool

Возвращает true/false (булево значение), если пользовательский агент был перенаправлен с другого сайта.

getBrowser()
Возвращает: Обнаруженный браузер или пустую строку
Тип возвращаемого значения: string

Возвращает строку, содержащую имя веб-браузера, просматривающего ваш сайт.

getVersion()
Возвращает: Обнаруженную версию браузера или пустую строку
Тип возвращаемого значения: string

Возвращает строку, содержащую номер версии веб-браузера, просматривающего ваш сайт.

getMobile()
Возвращает: Марку обнаруженного мобильного устройства или пустую строку
Тип возвращаемого значения: string

Возвращает строку, содержащую имя мобильного устройства, просматривающего ваш сайт.

getRobot()
Возвращает: Название обнаруженного робота или пустую строку
Тип возвращаемого значения: string

Возвращает строку, содержащую имя робота, просматривающего ваш сайт.

getPlatform()
Возвращает: Обнаруженную операционную систему или пустую строку
Тип возвращаемого значения: string

Возвращает строку, содержащую платформу, просматривающую ваш сайт (Linux, Windows, OS X и т. д.).

getReferrer()
Возвращает: Обнаруженный реферер или пустую строку
Тип возвращаемого значения: string

Реферер, если пользовательский агент был перенаправлен с другого сайта. Обычно вы проверяете это следующим образом:

if ($agent->isReferral()) {
    echo $agent->referrer();
}
getAgentString()
Возвращает: Полную строку user agent или пустую строку
Тип возвращаемого значения: string

Возвращает строку, содержащую полную строку user agent. Обычно она выглядит так:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
parse($string)
Параметры:
  • $string (string) – Пользовательская строка user-agent
Тип возвращаемого значения:

void

Парсит пользовательскую строку user-agent, отличную от той, что указана текущим посетителем.

© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/user_guide/libraries/user_agent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API