Agent クラス

Agent クラスは、ブラウザ種別、バージョン、プラットフォーム、OS など、クライアントのユーザーエージェント文字列に関する情報を取得可能にします。

使用方法

accepts_charset($charset = 'utf-8')

指定したキャラクタセットを、ブラウザが受け入れ可能かチェックします。

静的 はい
パラメータ
パラメータ デフォルト 説明
$charset string キャラクタセットの名前
返り値 boolean
// ユーザーのブラウザが iso-8859-1 を受け入れ可能かチェック
if (Agent::accepts_charset('iso-8859-1'))
{
	echo "大丈夫です、お使いのブラウザはこのキャラクタセットを受け入れ可能です!";
}
	

accepts_language($language = 'en')

指定した ISO 言語コードをブラウザが受け入れ可能かチェックします。

静的 はい
パラメータ
パラメータ デフォルト 説明
$language string ISO 言語コード
返り値 boolean
// ブラウザがフラマン語 (ベルギーのオランダ語) を受け入れ可能かチェック
if (Agent::accepts_language('nl_BE'))
{
	echo "大丈夫です、お使いのブラウザはフラマン語に設定されています!";
}
	

browser()

正規化されたブラウザ名を、ユーザーエージェント文字列から取得し、返す。

静的 はい
パラメータ なし
返り値 string
// ブラウザ名によって処理を変える
switch (Agent::browser())
{
	case 'Firefox':
		// 何かの処理
		break;
	case 'IE':
		// 何かの処理
		break;
	case 'Chrome':
		// 何かの処理
		break;
	case 'Unknown':
		// 何かの処理
		break;
	default:
		// どの (サポートされている) ブラウザでも無かった…
		break;
}

platform()

ユーザーエージェント文字列から正規化されたプラットフォーム名を取得して返す。

静的 はい
パラメータ なし
返り値 string
// ブラウザが動いているプラットフォームによって処理を変える
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()

ブラウザのバージョンを返す。

静的 はい
パラメータ なし
返り値 float
// 古い Internet Explorer のバージョンを使ってないかチェック
if (Agent::browser() == 'IE' and Agent::version() < 7)
{
	echo "ごめんなさい、旧世代のブラウザはサポートしてません!";
}
	

charsets()

ブラウザが受け入れ可能な全てのキャラクタセットを配列で返す。

静的 はい
パラメータ なし
返り値 array
// ブラウザが iso-8859-1 を受け入れ可能かチェック
$sets = Agent::charsets();
if (in_array('iso-8859-1', $sets))
{
	echo "大丈夫です!お使いのブラウザはこのキャラクタセットを受け入れ可能です!";
}
	

languages()

ブラウザが受け入れ可能な全ての ISO 言語コードを配列で返す。

静的 はい
パラメータ なし
返り値 array
// ブラウザがフラマン語 (ベルギーのオランダ語) を受け入れ可能かチェック
$lang = Agent::languages();
if (in_array('nl_BE', $lang))
{
	echo "大丈夫です、お使いのブラウザはフラマン語に設定されています!";
}
	

properties()

検出されたブラウザの全てのプロパティを配列で返す。

静的 はい
パラメータ なし
返り値 array
// ブラウザのプロパティを取得
$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 string 取得したいプロパティの名前。プロパティ名は大文字小文字を区別します!
返り値 mixed
// ブラウザがクッキーをサポートしているかチェック
if (Agent::property('cookies') === true)
{
	echo "大丈夫です、このブラウザはクッキーをサポートしています!";
}
	

is_mobiledevice()

ブラウザがモバイルデバイス上で実行されているかチェックします。

静的 はい
パラメータ なし
返り値 boolean
// プラットフォームごとのビューを読み込む
if (Agent::is_mobiledevice())
{
	$content = View::forge('mobile/viewname');
}
else
{
	$content = View::forge('standard/viewname');
}

is_robot()

訪問者がロボット、またはクローラーであるかを、ブラウザエージェントが示しているかチェックする

静的 はい
パラメータ なし
返り値 boolean
// クローラーごとのビューを読み込む (注意: これはひんしゅくものです!)
if (Agent::is_robot())
{
	$content = View::forge('robot/viewname');
}
else
{
	$content = View::forge('standard/viewname');
}