3

我正在拼命寻找最适合开发.mobi 网站的PHP 5 框架。

它应该包含的一项主要功能是对不同手机的浏览器识别,以便该网站可以在所有类型的手机上正常工作?

4

4 回答 4

4

CakePHP 作为内置 RequestHandler 组件的一部分,根据大量已知设备检查用户代理字符串,因此可以自动向这些客户端显示不同的内容。

这是它比较的列表:

iPhone, MIDP, AvantGo, BlackBerry, J2ME, Opera Mini, DoCoMo, NetFront, Nokia, PalmOS, PalmSource, portalmmm, Plucker, ReqwirelessWeb, SonyEricsson, Symbian, UP.Browser, Windows CE, Xiino

Even you don't go with CakePHP, you can take a look at the source of that file to see more about how it handles those requests.

于 2009-09-28T06:45:02.033 回答
2

我还没有听说过专门针对移动客户端的 PHP 框架。如果我是你,我不会试图找到一个专门的框架,而只是定义你的一般需求,看看哪个框架能最好地满足它们。不同客户的识别可以很容易地集成到任何现有的框架中。

于 2009-09-28T06:31:41.377 回答
2

Codeigniter 有一个名为User Agent的类。

但是,您可能必须为移动浏览器创建自己的类。

用户代理类提供有助于识别有关浏览器、移动设备或访问您网站的机器人的信息的功能。此外,您还可以获得引荐来源信息以及语言和支持的字符集信息。

示例:当初始化用户代理类时,它将尝试确定浏览您网站的用户代理是网络浏览器、移动设备还是机器人。如果可用,它还将收集平台信息。

$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.)
于 2009-09-28T06:38:07.713 回答
0

移动浏览器,如桌面浏览器,都有自己的问题和“特殊需求”,因此最好检查一下您正在输出到哪个浏览器,因为它可能会极大地影响输出。

于 2009-09-28T06:23:10.423 回答