Thinkphp5.0完全相同的域名下访问电脑和手机网站
来源:互联网 发布:listview性能优化 编辑:程序博客网 时间:2024/05/22 11:39
完全相同的域名下访问电脑和手机网站
例如,有个域名:www.###.com,在电脑上访问是电脑的网站,在手机上访问是手机网站。如何实现?
其实只要控制View层使用不同的模版即可实现。主要拿fetch()这个渲染模版的函数来开刀。
下面就是实际代码:
公共函数
在common.php下添加:
/** * 判断是否为手机访问 * @return boolean */function is_mobile(){ static $is_mobile; if (isset($is_mobile)) { return $is_mobile; } if (empty($_SERVER['HTTP_USER_AGENT'])) { $is_mobile = false; } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) { $is_mobile = true; } else { $is_mobile = false; } return $is_mobile;}
控制器
在基类控制器下覆盖fetch()方法:
/** * 加载模板输出(电脑和手机) * @access protected * @param string $template 模板文件名 * @param string $mobiletemplate 手机模板文件名 * @param array $vars 模板输出变量 * @param array $replace 模板替换 * @param array $config 模板参数 * @return mixed */protected function fetch($template = '',$mobiletemplate = '', $vars = [], $replace = [], $config = []) { if(Config::get('mobile_theme') == true && is_mobile() == true){ return $this->view->fetch($mobiletemplate, $vars, $replace, $config); }else{ return $this->view->fetch($template, $vars, $replace, $config); } }
在控制器下使用fetch()方法:
return $this->fetch('default/index/index','mobile/index/index');
阅读全文
0 0
- Thinkphp5.0完全相同的域名下访问电脑和手机网站
- 同一个域名,手机访问为一个网站,电脑访问又是另外一个网站!
- 与电脑处于同一局域网下的手机访问电脑网站
- 如何实现访问同一域名,手机和电脑跳转的不一样
- 电脑网站识别手机浏览,把域名换成手机域名
- 电脑可以访问的网站,手机不能访问
- 手机访问本地电脑网站
- 手机移动端网站和电脑PC端网站域名使用与跳转PHP代码
- 手机访问电脑的本地网站或者服务器
- 在同一个路由环境下手机也可以通过电脑ip访问电脑中的网站
- ThinkPHP5.0.7支持手机电脑双模板的修改
- 识别电脑还是手机访问网站
- PHP识别电脑还是手机访问网站
- php识别电脑还是手机访问网站
- PHP识别电脑还是手机访问网站
- PHP识别电脑还是手机访问网站
- PHP识别电脑还是手机访问网站
- PHP识别电脑还是手机访问网站
- C4996'GetVersionExW': 被声明为已否决TTS_onef:\vs2015\speechsdk\include\sphel
- 欢迎使用CSDN-markdown编辑器
- ingress-controller tcp转发
- 进程打开的fd个数超限
- 分离分层
- Thinkphp5.0完全相同的域名下访问电脑和手机网站
- Python 边做边学 8.4 工具类--HTML解析工具(HtmlSoupUtil)
- 地址栏图标
- AI判断能否看到物体
- 应避免的11个最常见的设计误区(上)
- Spring boot之AOP面向切面编程
- android studio 导入.so文件问题
- 第一章个人博客
- 计划-- 大四回学校