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)。有关更多信息,请参阅许可证文件