Spec-Zone.ru › CodeIgniter 3

Класс User Agent

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

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

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

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

Как и большинство других классов в CodeIgniter, класс User Agent инициализируется в вашем контроллере с помощью функции $this->load->library:

$this->load->library('user_agent');

После загрузки объект будет доступен с помощью: $this->agent

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

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

Пример

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

$this->load->library('user_agent');

if ($this->agent->is_browser())
{
        $agent = $this->agent->browser().' '.$this->agent->version();
}
elseif ($this->agent->is_robot())
{
        $agent = $this->agent->robot();
}
elseif ($this->agent->is_mobile())
{
        $agent = $this->agent->mobile();
}
else
{
        $agent = 'Unidentified User Agent';
}

echo $agent;

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

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

class CI_User_agent
is_browser([$key = NULL])
Параметры:
  • $key (string) – Необязательное имя браузера
Возвращаемое значение:

TRUE, если пользовательский агент — (указанный) браузер, FALSE — если нет

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

bool

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

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

Примечание

Строка «Safari» в этом примере — ключ массива в списке определений браузеров. Вы можете найти этот список в файле application/config/user_agents.php, если хотите добавить новые браузеры или изменить строки.

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

TRUE, если пользовательский агент — (указанное) мобильное устройство, FALSE — если нет

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

bool

Возвращает TRUE/FALSE (булево значение), если пользовательский агент — известное мобильное устройство.

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

TRUE, если пользовательский агент — (указанный) робот, FALSE — если нет

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

bool

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

Примечание

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

is_referral()
Возвращаемое значение: TRUE, если пользовательский агент — ссылка, FALSE — если нет
Тип возвращаемого значения: bool

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
accept_lang([$lang = 'en'])
Параметры:
  • $lang (string) – Ключ языка
Возвращаемое значение:

TRUE, если указанный язык принят, FALSE — если нет

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

bool

Позволяет определить, принимает ли пользовательский агент конкретный язык. Пример:

if ($this->agent->accept_lang('en'))
{
        echo 'You accept English!';
}

Примечание

Этот метод обычно не очень надёжен, так как некоторые браузеры не предоставляют информацию о языке, а даже среди тех, которые это делают, она не всегда точна.

languages()
Возвращаемое значение: Список массива принятых языков
Тип возвращаемого значения: array

Возвращает массив поддерживаемых языков пользовательского агента.

accept_charset([$charset = 'utf-8'])
Параметры:
  • $charset (string) – Кодировка символов
Возвращаемое значение:

TRUE, если кодировка символов принята, FALSE — если нет

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

bool

Позволяет определить, принимает ли пользовательский агент конкретную кодировку символов. Пример:

if ($this->agent->accept_charset('utf-8'))
{
        echo 'You browser supports UTF-8!';
}

Примечание

Этот метод обычно не очень надёжен, так как некоторые браузеры не предоставляют информацию о кодировке символов, а даже среди тех, которые это делают, она не всегда точна.

charsets()
Возвращаемое значение: Список массива принятых кодировок символов
Тип возвращаемого значения: array

Возвращает массив кодировок символов, принятых пользовательским агентом.

parse($string)
Параметры:
  • $string (string) – Пользовательская строка пользовательского агента
Тип возвращаемого значения:

void

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

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

Spec-Zone.ru

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