Agent クラス

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

設定

Agent クラスは、PHP 関数 get_browser() を使用し、 ユーザーのブラウザの機能を調査します。これは、browscap.ini ファイルのブラウザ情報をもとに行われます。

設定可能な値は次のとおりです。

パラメータ デフォルト 説明
browscap array
array(
	'enabled' => true,
	'url'     => 'http://browsers.garykeith.com/stream.asp?BrowsCapINI',
	'method' => 'wrapper',
	'proxy' => array(
		'host' => null,
		'port' => null,
		'auth' => 'none',
		'username' => null,
		'password' => null,
	),
	'file'   => '/tmp/php_browscap.ini',
)
browscap.ini 取得設定
cache array
array(
	'driver'     => '',
	'expiry'     => 604800,
	'identifier' => 'fuel.agent',
)
browscap.ini キャッシュ設定
Browscap.ini の設定

もし PHP に browscap.ini ファイルを使用する設定がなされていない場合、Agent クラスは 設定ファイル config/agent.php に定義された ファイルのパスから取得し、再利用のためにローカルにキャッシュします。 このキャッシュは、設定ファイルに定義されたキャッシュ期限により、定期的に更新されます。

パラメータ デフォルト 説明
enabled boolean
true
browscap.ini ファイルをダウンロードすることを可能にします。 無効に設定され、かつ PHP が get_browser() 関数から browscap 機能が使えるように設定されていない場合、ブラウザ判定は無効になり、Agent クラスは 'unknown' を返します。
method string
'wrapper'
browscap.ini ファイルを取得するための方法。サポートされる方法は次のとおりです。
  • 'wrapper': この方法は、 file_get_contents()を使用します。 これは推奨される設定ですが、ホスティングプロバイダーにより無効にされているかもしれません。
  • 'curl': この方法は curl 拡張モジュールを使用します。 'wrapper' が使用できない場合、この設定を行います。
  • 'local': 外部的な方法(例えば cron ジョブ) により、 browscap.ini ファイルをダウンロードする際に設定します。
  • 'sockets': 将来的な使用のために予約されています。
url string
'http://browsers.garykeith.com/stream.asp?BrowsCapINI'
取得方法に、'wrapper', 'curl' そして 'sockets' が設定された場合の browscap.ini ファイルのアップデートをダウンロードする URL 。
proxy array
array( ... )
See below.
file string
'/tmp/php_browscap.ini'
取得方法に、'local' が指定された場合の、 browscap.ini ファイルのローカルストレージ上のパス
プロキシ設定

もし、サーバがインターネットへアクセスするためにフォワードプロキシを必要とする場合、browscap 設定の一部として設定が加能です。

パラメータ デフォルト 説明
host string
null
フォワードプロキシのホスト名または IP アドレス。'http://proxy.example.org' ではなく、'proxy.example.org' のようにスキームを含めないでください。
port integer
null
プロキシの TCP ポート番号。一般的なポート番号は 3128 (Squid) と 8080 (商用プロキシ、 ISA-2006+) または 80 (ISA-2004) 。
auth string
'none'
プロキシの認証方法。サポートされている方法:
  • 'none': プロキシは認証を必要賭しない。
  • 'basic': Basic 認証。 'curl' と 'wrapper' の両方でサポートされています。
  • 'ntlm': NTLM/Windows 認証。 'curl' でのみサポートされています。
username string
null
プロキシの認証に必要なユーザ名。
password string
null
プロキシの認証に必要なパスワード。
キャッシュ設定

Agent クラスは browscap.ini ファイルを読み込むように設定され、 レスポンスタイムを短くするために、ini ファイルのパース結果と個別のユーザーエージェントのリクエストの結果の両方をキャッシュします。 これらの設定は、どのようにデータがキャッシュされるかを決定します。詳しくは、 Cache クラスのドキュメントを参照ください。

パラメータ デフォルト 説明
driver string
''
エージェントデータをキャッシュする Cache ドライバ。 もし何も指定しない場合、キャッシュ設定にて設定された、デフォルトの Cache ドライバが使われます。
expiry integer
604800
キャッシュ有効期限(秒)。 デフォルトでは、7 日。 browscap.ini ファイルは さほど頻繁に更新されないので、 1 日 1 回以上の頻度での更新は推奨しません。
最小の設定は 7200 秒 (2 時間)。それ以上の頻度でダウンロードした場合、あなたのサーバは browscap の Web サイトからアクセス禁止にされるでしょう!
identifier string
'fuel.agent'
キャッシュ名のプレフィックス。