Agent 类別

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');
}