然后最后一个介绍ThinkPHP框架开发移动终端接口(1)。此外,我们还可以通过thinkphp实现移动终端接入自动切换主题模板,使移动终端可以访问。

thinkphp的模板主题机制,如果只是在PC,只要我们需要修改default_theme(模板的主题的新版本是空的,说明模板主题功能未启用)配置项可以很容易地实现多模板主题切换。

但对于移动端和PC端,你可能设计风格完全不同,提供不同的渲染方法不同的来路,一种流行的方法是响应式设计,但以我的经验,不是那么容易实现响应设计,解决兼容性问题是一个问题,这是一个大的网站,如:淘宝,百度,帕特的响应式设计,肯定不能满足需求,但需要手机用户提供个人手机网站。

ThinkPHP可以实现完全相当简单。例如TPM的智能模板转换引擎,只是判断路线。

1、在以移动(){ / /常见。php }被添加到项目中




功能以移动(){
如果有一个http_x_wap_profile / /移动设备
如果(isset($ _server { 'http_x_wap_profile ' }))
返回true;

本文从TPM智能切换模板引擎入手,开发TPM。
如果(isset($ _server { 'http_client})'phoneclient= = $ _server { 'http_client})
返回true;
如果通过信息包含WAP,必须是移动设备的一部分,信息服务屏蔽室。
如果(isset($ _server { 'http_via ' }))
/ /错误没有被发现,或真
返回stristr($ _server { 'http_via},'wap)真的假的;
客户端发送的手机判断码兼容性需要改进
如果(isset($ _server { 'http_user_agent ' })){
clientkeywords美元=阵列(
诺基亚,'sony ','ericsson ','mot ','samsung ','htc ','sgh ','lg ','sharp ','sie','philips ','panasonic ','alcatel ','lenovo ','iphone ','ipod ','blackberry ','meizu ','android ','netfront ','symbian,'ucweb ','windowsce ','palm ','operamini ','operamobi ','openwave ','nexusone ','cldc ','midp ','wap,移动平台
);
从http_user_agent手机浏览器 / /搜索关键词
如果(preg_match( /(。(|崩溃,clientkeywords美元)。) /我,strtolower($ _server { 'http_user_agent ' }))){
返回true;
}
}
交易,因为可能不准确,在最后的判断中。
如果(isset($ _server { 'http_accept ' })){
/ /如果仅支持WML和HTML不支持必须移动设备
/ /如果在HTML是一个移动设备支持WML和HTML,WML
如果((strpos($ _server { 'http_accept},'vnd。WAP WML的)!= = false)(strpos($ _server { 'http_accept},中/ HTML)=假(strpos | |($ _server { 'http_accept},'vnd。WAP WML的):strpos($ _server { 'http_accept},中/的HTML)))){
返回true;
}
}
返回false;
}



2、{ / lib / }项目创建一个commonaction.php,如果你的项目已经公开的控制器,不需要创造,可直接添加到。




类commonaction延伸动作{
公共功能_initialize(){
移动设备浏览、切换模板
如果(以移动()){
为移动设置默认主题
C('default_theme,移动平台);
}
…你.........更多的代码.......
}
}


通过以上2种方式来实现移动端接入,一种是本地的,另一种是伪本地的,小伙伴根据自己的项目需要选择。

以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。