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 のウエブサイトからアクセス禁止にされるでしょう!
identifier string
'fuel.agent'
For the methods 'wrapper', 'curl' and 'sockets', the url to download an update of the browscap.ini file.