Clase de agente de usuario
La clase de agente de usuario proporciona funciones que ayudan a identificar información. sobre el navegador, dispositivo móvil o robot que visita su sitio.
Usando la clase de agente de usuario
Inicializando la clase
La clase Agente de usuario siempre está disponible directamente desde el IncomingRequest actual instancia. De forma predeterminada, tendrá una instancia de solicitud en su controlador que puede recuperar Clase de agente de usuario de:
<?php
$agent = $this->request->getUserAgent();
Definiciones de agentes de usuario
Las definiciones de los nombres del agente de usuario se encuentran en un archivo de configuración ubicado en:
aplicación/Config/UserAgents.php. Puede agregar elementos a los distintos matrices de agentes de usuario si es necesario.
Ejemplo
Cuando se inicializa la clase Agente de usuario, intentará determinar si el agente de usuario que navega por su sitio es un navegador web, un dispositivo móvil dispositivo o un robot. También recopilará la información de la plataforma si está disponible:
<?php
$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.)
Referencia de clase
- class Higgs\HTTP\UserAgent
- isBrowser([$key = null])
- Parámetros:
$key (
string
) – nombre del navegador opcional
- Devuelve:
verdadero si el agente de usuario es un navegador (especificado), falso en caso contrario
- Tipo del valor devuelto:
booleano
Devuelve verdadero/falso (booleano) si el agente de usuario es un navegador web conocido.
<?php if ($agent->isBrowser('Safari')) { echo 'You are using Safari.'; } elseif ($agent->isBrowser()) { echo 'You are using a browser.'; }
Nota
The string «Safari» in this example is an array key in the list of browser definitions. Puede encontrar esta lista en app/Config/UserAgents.php si desea agregar nuevos navegadores o cambiar las cadenas.
- isMobile([$key = null])
- Parámetros:
$key (
string
) – nombre de dispositivo móvil opcional
- Devuelve:
verdadero si el agente de usuario es un dispositivo móvil (especificado), falso en caso contrario
- Tipo del valor devuelto:
booleano
Devuelve verdadero/falso (booleano) si el agente de usuario es un dispositivo móvil conocido.
<?php if ($agent->isMobile('iphone')) { echo view('iphone/home'); } elseif ($agent->isMobile()) { echo view('mobile/home'); } else { echo view('web/home'); }
- isRobot([$key = null])
- Parámetros:
$key (
string
) – nombre de robot opcional
- Devuelve:
verdadero si el agente de usuario es un robot (especificado), falso si no
- Tipo del valor devuelto:
booleano
Devuelve verdadero/falso (booleano) si el agente de usuario es un robot conocido.
Nota
The user agent library only contains the most common robot definitions. It is not a complete list of bots. Hay cientos de ellos, por lo que buscar cada uno de ellos no sería muy eficaz. Si encuentras que algunos bots que visitan habitualmente su sitio no están en la lista, puede agregarlos a su archivo app/Config/UserAgents.php.
- isReferral()
- Devuelve:
verdadero si el agente de usuario es una referencia, falso si no
- Tipo del valor devuelto:
booleano
Devuelve verdadero/falso (booleano) si el agente de usuario fue remitido desde otro sitio.
- getBrowser()
- Devuelve:
navegador detectado o una cadena vacía
- Tipo del valor devuelto:
cadena
Devuelve una cadena que contiene el nombre del navegador web que visualiza su sitio.
- getVersion()
- Devuelve:
versión del navegador detectada o una cadena vacía
- Tipo del valor devuelto:
cadena
Devuelve una cadena que contiene el número de versión del navegador web que visualiza su sitio.
- getMobile()
- Vuelve:
Marca de dispositivo móvil detectada o una cadena vacía
- Tipo del valor devuelto:
cadena
Devuelve una cadena que contiene el nombre del dispositivo móvil que visualiza su sitio.
- getRobot()
- Devuelve:
nombre del robot detectado o una cadena vacía
- Tipo del valor devuelto:
cadena
Devuelve una cadena que contiene el nombre del robot que visita su sitio.
- getPlatform()
- Devuelve:
Sistema operativo detectado o una cadena vacía
- Tipo del valor devuelto:
cadena
Devuelve una cadena que contiene la plataforma que visualiza su sitio (Linux, Windows, OS X, etc.).
- getReferrer()
- Devuelve:
referente detectado o una cadena vacía
- Tipo del valor devuelto:
cadena
El referente, si el agente de usuario fue referido desde otro sitio. Normalmente, probará esto de la siguiente manera:
<?php if ($agent->isReferral()) { echo $agent->referrer(); }
- getAgentString()
- Devuelve:
cadena de agente de usuario completa o una cadena vacía
- Tipo del valor devuelto:
cadena
Devuelve una cadena que contiene la cadena completa del agente de usuario. Normalmente será algo como esto:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
- parse($string)
- Parámetros:
$string (
string
) – una cadena de agente de usuario personalizada
- Tipo del valor devuelto:
nulo
Analiza una cadena de agente de usuario personalizada, diferente de la informada por el visitante actual.