FuelPHPのAgentクラスは、使用する度に毎回10MB以上のクラスファイルをダウンロードしてくる仕様となっていて、サーバーのメモリを占有して使い物にならない問題がある。
この問題を回避するには、あらかじめクラスファイルを落としておいて定期的に最新化するのが最善策のようだが、そこまでしたくない人向けの暫定的な回避方法がこちら。
hoge.php
$ua = \Input::server('http_user_agent', '');
if( (strpos($ua, 'iPhone') !== false) || (strpos($ua, 'iPod') !== false) || (strpos($ua, 'iPad') !== false) ) {
// iOS
} else {
// Android
}
何をやっているかというと、FuelPHPのAgentクラスのコードを元にUserAgent情報を取得し、指定した文字列が入っているかどうかチェックするという単純な方法です。