torkashvand / laravel-minidevicedetector
一个中间件,向您的请求对象添加描述用户浏览器的属性。这将让您根据浏览器的特性微调模板或代码。
v1.0.0
2016-12-23 19:58 UTC
This package is not auto-updated.
Last update: 2024-09-28 20:03:46 UTC
README
此中间件包向您的请求对象添加描述用户浏览器的属性。这将允许您根据浏览器的特性微调模板或代码。
该项目是从django-minidetector分叉而来,并修改为PHP。
以下属性添加到请求中
简单设备
$request->isSimpleDevice
true 表示所有非桌面设备(浏览器)没有“现代”CSS和JS支持。这包括非“智能”手机和一些较简单的浏览器,如游戏机和kindle上的浏览器。
触摸设备
$request->isTouchDevice
true 表示使用触摸事件的设备。
宽设备
$request->isWideDevice
true 表示宽度大于普通手机的设备。这包括平板电脑和桌面浏览器。
设备类型
$request->isSimpleDevice
$request->isTouchDevice
$request->isWideDevice
$request->mobile
$request->isWebkit
$request->isIOSDevice
$request->isAndroidDevice
$request->isWebOSDevice
$request->isWindowsPhoneDevice
true 如果设备是给定平台的一部分。
这些提供了关于现代智能设备的更详细的信息。如果您想针对特定设备类型进行功能定位,这将很有帮助。
其他属性
$request->isWebkit
true 如果浏览器是webkit(桌面或移动。)
如果您只有某些需要区分的路由,您只需将其中间件添加到该路由即可
Route::get('/need-destination', [ 'middleware'=> 'mini-detector:viewNeedDestination', 'uses' => 'NeedDestinationController@index', ]);
当然,此中间件也可以应用于多个路由
Route::group(['prefix' => 'admin', 'middleware' => 'mini-detector:viewAdmin'], function() { //all the controllers of your admin section ... });
安装
您可以通过composer安装此包
$ composer require torkashvand/laravel-minidevicedetector
接下来,您必须安装服务提供者
// config/app.php 'providers' => [ ... Torkashvand\MiniDeviceDetector\MiniDeviceDetectorServiceProvider::class, ];
接下来,必须将\Torkashvand\MiniDeviceDetector\Middleware\MiniDeviceDetector::class中间件注册到内核中
//app/Http/Kernel.php protected $routeMiddleware = [ ... 'mini-detector' => \Torkashvand\MiniDeviceDetector\Middleware\MiniDeviceDetector::class, ];
将中间件命名为mini-detector只是一个建议。您可以给它任何您喜欢的名字。
用法
检测设备类型
Route::get('/need-destination', ['middleware'=> 'mini-detector','uses' => 'NeedToDetectController@show']);
变更日志
有关最近更改的更多信息,请参阅变更日志
贡献
有关详细信息,请参阅贡献指南
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件