目录
当前位置: 首页 > 文档资料 > FuelPHP 中文文档 >

Agent 用法 - 类別

优质
小牛编辑
132浏览
2023-12-01

Agent 类别能让你撷取关于浏览器的类型、版本、平台或操作系统等等基于客户使用者代理字串资讯。

用法

accepts_charset($charset = 'utf-8')

检查目前的浏览器是否接受一个特定的字符集。

静态
参数
参数预设描述
$charset字串字符集名称
回传布林
範例
// 检查使用者的浏览器是否接受 iso-8859-1
if (Agent::accepts_charset('iso-8859-1'))
{
	echo "Yes, the browser accepts this characterset!";
}
	

accepts_language($language = 'en')

检查目前的浏览器是否接受一个特定的 ISO 语言代码。

静态
参数
参数预设描述
$language字串ISO 语言代码
回传布林
範例
// 检查使用者的浏览器是否接受 Flemish (Belgian Dutch)
if (Agent::accepts_language('nl_BE'))
{
	echo "Yes, the browser is configured for the Flemish language!";
}
	

browser()

从用户代理字串回传正规化的浏览器名称。

静态
参数
回传字串
範例
// 基于浏览器名称的程序
switch (Agent::browser())
{
	case 'Firefox':
		// 在此做一些特定的事情
		break;
	case 'IE':
		// 在此做一些特定的事情
		break;
	case 'Chrome':
		// 在此做一些特定的事情
		break;
	case 'Unknown':
		// 在此做一些特定的事情
		break;
	default:
		// 这些都是未支援的浏览器……
		break;
}

platform()

从用户代理字串回传正规化的平台名称。

静态
参数
回传字串
範例
// 基于浏览器平台的程序
switch (Agent::platform())
{
	case 'Win95':
	case 'Win98':
	case 'WinNT':
	case 'WinME':
	case 'Win2000':
		// 在此做一些特定的事情
		break;
	case 'WinXP':
	case 'WinVista':
	case 'Win7':
		// 在此做一些特定的事情
		break;
	case 'Linux':
		// 在此做一些特定的事情
		break;
	case 'MacOSX':
	case 'MacPPC':
		// 在此做一些特定的事情
		break;
	case 'SunOS':
	case 'FreeBSD':
	case 'Debian':
	case 'HP-UX':
	case 'IRIX64':
		// 在此做一些特定的事情
		break;
	case 'unknown':
		// 在此做一些特定的事情
		break;
	default:
		// 这些都是未支援的平台……
		break;
}

version()

回传浏览器版本。

静态
参数
回传浮点数
範例
// 检查是否使用旧版本的 Internet Explorer。
if (Agent::browser() == 'IE' and Agent::version() < 7)
{
	echo "Sorry, no support for outdated browsers!";
}
	

charsets()

回传一个被浏览器接受的所有字符集阵列。

静态
参数
回传阵列
範例
// 检查使用者浏览器是否接受 iso-8859-1
$sets = Agent::charsets();
if (in_array('iso-8859-1', $sets))
{
	echo "Yes, the browser accepts this characterset!";
}
	

languages()

回传一个被浏览器接受的所有 ISO 语言阵列。

静态
参数
回传阵列
範例
// 检查使用者的浏览器是否接受 Flemish (Belgian Dutch)
$lang = Agent::languages();
if (in_array('nl_BE', $lang))
{
	echo "Yes, the browser is configured for the Flemish language!";
}
	

properties()

回传一个被检测的浏览器的所有特性阵列。

静态
参数
回传阵列
範例
// 取得浏览器的特性
$properties = Agent::properties();

/**
 * 这些都是支援的特性,以及它们的预设值
 *
 * $properties = array(
 * 	'browser'             => "unknown",
 * 	'version'             => 0,
 * 	'majorver'            => 0,
 * 	'minorver'            => 0,
 * 	'platform'            => 'unknown',
 * 	'alpha'               => false,
 * 	'beta'                => false,
 * 	'win16'               => false,
 * 	'win32'               => false,
 * 	'win64'               => false,
 * 	'frames'              => false,
 * 	'iframes'             => false,
 * 	'tables'              => false,
 * 	'cookies'             => false,
 * 	'backgroundsounds'    => false,
 * 	'javascript'          => false,
 * 	'vbscript'            => false,
 * 	'javaapplets'         => false,
 * 	'activexcontrols'     => false,
 * 	'isbanned'            => false,
 * 	'ismobiledevice'      => false,
 * 	'issyndicationreader' => false,
 * 	'crawler'             => false,
 * 	'cssversion'          => 0,
 * 	'aolversion'          => 0,
 * );
 *
 * 请注意,布林值表示支援一个特定的功能。
 * 这并不表示启用与否。
 */

property($property = null)

回传一个特定的浏览器特性。请参阅 properties() 支援的特性列表。

静态
参数
参数预设描述
$property字串要撷取的特性名称。该名称是区分大小写的!
回传混合
範例
// 检查浏览器是否支援 Cookie
if (Agent::property('cookies') === true)
{
	echo "Yes, the browser supports Cookies!";
}
	

is_mobiledevice()

检查所使用的浏览器是否在行动装置上运行。

静态
参数
回传布林
範例
// 载入一个平台特定的检视
if (Agent::is_mobiledevice())
{
	$content = View::forge('mobile/viewname');
}
else
{
	$content = View::forge('standard/viewname');
}

is_robot()

检查是否浏览器代理表明访问者是一个机器人或爬虫。

静态
参数
回传布林
範例
// 载入爬虫特定检视(请注意:这是不可取的!)
if (Agent::is_robot())
{
	$content = View::forge('robot/viewname');
}
else
{
	$content = View::forge('standard/viewname');
}