.mobiサイトの開発に最適なPHP5フレームワークを必死に探しています。
このサイトに含まれるべき主要な機能の1つは、さまざまな携帯電話のブラウザ認識です。これにより、サイトはすべてのタイプの電話で正しく機能しますか?
.mobiサイトの開発に最適なPHP5フレームワークを必死に探しています。
このサイトに含まれるべき主要な機能の1つは、さまざまな携帯電話のブラウザ認識です。これにより、サイトはすべてのタイプの電話で正しく機能しますか?
CakePHPは、組み込みのRequestHandlerコンポーネントの一部として、ユーザーエージェント文字列を既知のデバイスの大きなリストと照合するため、それらのクライアントにさまざまなコンテンツを自動的に表示できます。
比較するリストは次のとおりです。
iPhone、MIDP、AvantGo、BlackBerry、J2ME、Opera Mini、DocoMo、NetFront、Nokia、PalmOS、PalmSource、portalmmm、Plucker、ReqwirelessWeb、SonyEricsson、Symbian、UP.Browser、Windows CE、Xiino
CakePHPを使用しない場合でも、そのファイルのソースを調べて、それらの要求をどのように処理するかについて詳しく知ることができます。
モバイル クライアントに特化した PHP フレームワークは聞いたことがありません。もし私があなただったら、特別なフレームワークを見つけようとするのではなく、一般的なニーズを定義し、どのフレームワークがそれらを最もよくカバーできるかを確認します. さまざまなクライアントの認識は、既存のフレームワークに簡単に統合できます。
Codeigniter にはUser Agentというクラスがあります。
ただし、モバイル ブラウザー用に独自のクラスを作成する必要がある場合があります。
ユーザー エージェント クラスは、サイトにアクセスしているブラウザー、モバイル デバイス、またはロボットに関する情報を識別するのに役立つ関数を提供します。さらに、リファラー情報、言語およびサポートされている文字セット情報を取得できます。
例: ユーザー エージェント クラスが初期化されると、サイトを閲覧しているユーザー エージェントが Web ブラウザー、モバイル デバイス、ロボットのいずれであるかを判断しようとします。利用可能な場合は、プラットフォーム情報も収集します。
$this->load->library('user_agent');
if ($this->agent->is_browser())
{
$agent = $this->agent->browser().' '.$this->agent->version();
}
elseif ($this->agent->is_robot())
{
$agent = $this->agent->robot();
}
elseif ($this->agent->is_mobile())
{
$agent = $this->agent->mobile();
}
else
{
$agent = 'Unidentified User Agent';
}
echo $agent;
echo $this->agent->platform(); // Platform info (Windows, Linux, Mac, etc.)
デスクトップ ブラウザと同様に、モバイル ブラウザにはそれぞれ独自の問題と「特別なニーズ」があるため、出力に大きな影響を与える可能性があるため、出力先のブラウザを確認するためのチェックを含めることをお勧めします。