Агент
PHP парсер юзер агента с поддержкой Laravel, работающий на базе библиотеки Mobile Detect.
Установка
Установка через composer:
composer require jenssegers/agent
Совместимость с Laravel
Подключение сервиса в app/config/app.php
:
Jenssegers\Agent\AgentServiceProvider::class,
Создание алиаса app/config/app.php
:
'Agent' => Jenssegers\Agent\Facades\Agent::class,
Работа с библиотекой
Для начала необходимо создать объект Agent
:
use Jenssegers\Agent\Agent; $agent = new Agent();
Если вам необходимо распарсить юзер агента, то следует воспользоваться методами setUserAgent
и setHttpHeaders
:
$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'); $agent->setHttpHeaders($headers);
Все методы библиотеки Mobile Detect можно увидеть на странице https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples
Is?
Проверка операционной системы.
$agent->is('Windows'); $agent->is('Firefox'); $agent->is('iPhone'); $agent->is('OS X');
Магические методы
Магические методы, выполняющие те же задачи, что и метод is()
:
$agent->isAndroidOS(); $agent->isNexus(); $agent->isSafari();
Детектор мобильных платформ
Является ли устройство мобильным:
$agent->isMobile(); $agent->isTablet();
Определение юзер агента
Определение юзер агента, используя регулярное выражение:
$agent->match('regexp');
Дополнительные возможности
Поддержка языков
Получение списка поддерживаемых языков. Пример:
$languages = $agent->languages(); // ['nl-nl', 'nl', 'en-us', 'en']
Название устройства
Получение названия устройства. (iPhone, Nexus, AsusTablet, ...)
$device = $agent->device();
Название операционной системы
Получение операционной системы. (Ubuntu, Windows, OS X, ...)
$platform = $agent->platform();
Название браузера
Получение названия браузера. (Chrome, IE, Safari, Firefox, ...)
$browser = $agent->browser();
Проверка на тип устройства: ПК
Определение, что пользователь использует ПК.
$agent->isDesktop();
Проверка на тип устройства: телефон
Определение, что тип устройства — телефон.
$agent->isPhone();
Проверка на тип устройства: бот
Проверяем является ли пользователь ботом. Используется библиотека jaybizzle/crawler-detect.
$agent->isRobot();
Имя бота
Получение имени бота.
$robot = $agent->robot();
Версия браузера/платформы
В MobileDetect есть метод version, с помощью которого можно определить версию браузера или используемой платформы:
$browser = $agent->browser(); $version = $agent->version($browser); $platform = $agent->platform(); $version = $agent->version($platform);
Данный метод работает в beta-режиме.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: https://github.com/jenssegers/agent
Перевел: Станислав Протасевич
Урок создан: 15 Мая 2017
Просмотров: 12728
Правила перепечатки
5 последних уроков рубрики "PHP"
-
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза "фильтруйте всё, экранируйте всё" всегда будет актуальна. Сегодня поговорим о фильтрации данных.
-
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
-
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
-
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
-
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.