質問

.mobiサイトを開発するのに最適なPHP 5フレームワークを必死に探しています。

含まれるべき主要な機能の1つは、さまざまな携帯電話のブラウザ認識です。これにより、サイトはあらゆる種類の電話で適切に動作しますか?

役に立ちましたか?

解決

CakePHPは、組み込みのRequesthandlerコンポーネントの一部として、ユーザーエージェントの文字列を既知のデバイスの大きなリストに対してチェックするため、それらのクライアントに異なるコンテンツを自動的に表示できます。

これが比較するリストです:

iPhone、Midp、Avantgo、Blackberry、J2me、Opera Mini、Docomo、Netfront、Nokia、Palmos、Palmsource、Portalmmm、Plucker、Reqwirelessweb、Sonyericson、Symbian、Up.Browser、Windows CE、Xiino

CakePHPを使用していなくても、そのファイルのソースを見て、それらのリクエストをどのように処理するかについて詳しく見ることができます。

他のヒント

モバイルクライアントを専門とするPHPフレームワークについては聞いていません。もし私があなただったら、私は専門的なフレームワークを見つけようとはしませんが、一般的にあなたのニーズを定義し、どのフレームワークがそれらを最もよくカバーできるかを確認するだけです。さまざまなクライアントの認識は、既存のフレームワークに簡単に統合できます。

Codeigniterには、呼ばれるクラスがあります ユーザーエージェント.

ただし、モバイルブラウザ用の独自のクラスを作成する必要がある場合があります。

ユーザーエージェントクラスは、サイトにアクセスするブラウザ、モバイルデバイス、またはロボットに関する情報を特定するのに役立つ機能を提供します。さらに、紹介者情報と言語、サポートされている文字セット情報を入手できます。

例:ユーザーエージェントクラスが初期化されると、サイトを閲覧するユーザーエージェントが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.)

デスクトップブラウザなどのモバイルブラウザには、すべて独自の問題と「特別なニーズ」があります。そのため、出力に大きく影響する可能性があるため、出力しているブラウザを確認するためのチェックを含めることをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top