我正在拼命寻找最适合开发.mobi 网站的PHP 5 框架。
它应该包含的一项主要功能是对不同手机的浏览器识别,以便该网站可以在所有类型的手机上正常工作?
我正在拼命寻找最适合开发.mobi 网站的PHP 5 框架。
它应该包含的一项主要功能是对不同手机的浏览器识别,以便该网站可以在所有类型的手机上正常工作?
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.
我还没有听说过专门针对移动客户端的 PHP 框架。如果我是你,我不会试图找到一个专门的框架,而只是定义你的一般需求,看看哪个框架能最好地满足它们。不同客户的识别可以很容易地集成到任何现有的框架中。
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.)
移动浏览器,如桌面浏览器,都有自己的问题和“特殊需求”,因此最好检查一下您正在输出到哪个浏览器,因为它可能会极大地影响输出。