Agent クラス

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

設定

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

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

パラメータ デフォルト 説明
browscap array
array(
	'enabled' => true,
	'url'     => 'http://browsers.garykeith.com/stream.asp?BrowsCapINI',
	 'method' => 'wrapper',
	 '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
file string
'/tmp/php_browscap.ini'
取得方法に、'local' が指定された場合の、 browscap.ini ファイルのローカルストレージ上のパス
キャッシュの設定

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'
キャッシュ名のプレフィックス。