我正在使用Laravel 5.1
在我的项目中,service-based architecture
格式为MVVM
。因此,服务器返回的所有数据都使用api调用。
客户端浏览器以及移动应用(即我们在Android
和iOS
中创建)用于CRUD
操作的服务相同。
我想现在检测请求是来自任何浏览器(包括移动浏览器)还是来自任何移动设备(即使用移动应用程序,而不是移动浏览器)。有没有办法区分它?
在请求中设置自定义标头(即来自移动应用程序)可以是一种解决方案,但如果使用laravel代码可以实现任何解决方案,我不想遵循它。
答案 0 :(得分:0)
它为我工作。 ` 公共功能somethingfunc(Request $ request) { $ request-> header('User-Agent') ....
`
答案 1 :(得分:-1)
目前在Laravel 4,5和5.2中没有检测设备类型的功能, 但是,您只需检查设备是否可以移动设备。
if( preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"])){
//hey I'm a mobile device
}
要检测其他设备功能,例如屏幕分辨率,屏幕尺寸,操作系统等,您可以尝试一些Laravel套件: