weikeong98 / mobiledetectlib
Mobile_Detect 是一个轻量级的 PHP 类,用于检测移动设备。它通过结合用户代理字符串和特定的 HTTP 标头来检测移动环境。
Requires
- php: >=7.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- phpunit/phpunit: ^9.6
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-22 09:49:03 UTC
README
MobileDetect,PHP 移动检测类
Mobile Detect 是一个轻量级的 PHP 类,用于检测移动设备(包括平板电脑)。它通过结合用户代理字符串和特定的 HTTP 标头来检测移动环境。
- MobileDetect 类是一个 服务器端检测 PHP 类,可以帮助您制定响应式设计策略,它不是 CSS3 媒体查询或其他客户端功能检测形式的替代品。
- 可以通过正则表达式区分手机和平板电脑。
- 通过运行 测试 来保持检测的准确性和相关性,以检查检测冲突。
$detect = new \Detection\MobileDetect; $deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
安装
手动下载和包含
- 下载最新版本
- 获取 PHP 类 MobileDetect.php 并将其包含在您的 PHP 源中。
Composer
- 通过 composer 安装。
composer require mobiledetect/mobiledetectlib
- 在
composer.json
文件中包含依赖项{ "require": { "mobiledetect/mobiledetectlib": "^3.74" } }
版本
贡献
捐赠
我目前正在支付托管费用,花费大量家庭时间维护项目并规划未来的发布。我将非常感激任何有助于继续研究的资金捐赠。
特别感谢社区 👍 的捐赠,JetBrains 团队的持续支持以及Dragos Gavrila 对标志的贡献。
模块、插件、端口
JavaScript
- mobile-detect.js - Mobile-Detect 类的 JavaScript 端口。由 Heinrich Goebl 制作。
Varnish Cache
- Varnish Mobile Detect - 基于Mobile-Detect库的移动用户检测的即插即用 Varnish 解决方案。由 willemk 制作。
- mobiledetect2vcl - 将 Mobile Detect JSON 数据库转换为基于 UA 的移动检测 VCL 子例程的 Python 脚本,易于集成到任何 Varnish Cache 配置中。由 Carlos Abalde 制作。
LUA
- mobile-detect.lua 是 Mobile-Detect 的 Lua 版本,用于 NGINX HTTP 服务器。与 mobile-detect.js 非常相似。支持服务器端 mobile-detect.js 所有的方法。经过完全的单元测试,并与 Travis CI 同步(包含构建通过徽章)。由 Mark Walters 开发。
PHP
WordPress
-
Mobile Detect for WordPress - WordPress 内置了一个检测移动设备的函数(
wp_is_mobile()
)。不过有一个问题。它会将 iPad(iPad pro 以及任何平板)视为移动设备。因此,这个第三方模块通过 Mobile Detect PHP 库帮助改变了wp_is_mobile()
的工作方式!由 Pothi Kalimuthu 开发。 -
WordPress Mobile Detect - 允许您使用
[notdevice][/notdevice]
短代码将信息图包裹起来,这样在服务器级别 WordPress 将决定仅在用户不在手机或平板上时显示该内容。由 Jesse Friedman 开发。 -
mobble - 为您的网站提供与移动相关的条件函数。例如
is_iphone()
、is_mobile()
和is_tablet()
。由 Scott Evans 开发。 -
WordPress Responsage - 一个小的 WordPress 主题插件,允许您使您的图片响应式。由 Adrian Ciaschetti 开发。
-
WP247 Body Classes - 为
body
标签添加独特的类,以便根据各种属性(存档、用户、文章、移动)和各种 WordPress "is" 函数进行简单的样式设计。移动属性包括设备类型、操作系统、浏览器等。例如:.is-mobile、.is-not-mobile、.is-tablet、.is-ios、.is-not-ios、.is-androidos、.is-chromebrowser。由 wescleveland56 开发。 -
Adaptive Content for WordPress 提供了最直观的短代码集,用于在移动设备、平板电脑、桌面和其他更具体的设备参数中包含/排除内容。这个轻量级插件让内容编写者和主题作者可以使用短代码和快速标签或主题元素使用函数来选择 WordPress 应该或不应该显示任何给定内容项。由 AddFunc 开发。
-
AddFunc Mobile Detect for WordPress 将移动流量重定向到您的移动网站,并且基本上让您对移动重定向有大量的控制。由 AddFunc 开发。
Drupal
-
Drupal Mobile Switch - Mobile Switch Drupal 模块提供了一种自动切换主题的功能,用于移动设备,通过 Browscap 或 Mobile Detect 检测。由 Siegfried Neumann 开发。
-
Drupal Context Mobile Detect - 这是一个 Drupal 上下文模块,它集成了 Context 和 PHP Mobile Detect 库。由 Artem Shymko 开发。
-
Drupal Mobile Detect - Drupal 的轻量级移动检测模块,由 Matthew Donadio 开发。
Joomla
-
yagendoo Joomla! Mobile Detection Plugin - 一种轻量级的PHP插件,用于Joomla!,它使用Mobile Detect类检测移动浏览器。由yagendoo media制作。
-
User Agent Detector插件 - 此系统插件检测您的网站访客的用户代理,并根据用户代理设置相应的会话变量。根据用户代理,插件检测网站是否在桌面PC、平板电脑或智能手机上运行。它还可以检测访客是否为蜘蛛机器人(搜索引擎)。设置的会话变量:
ualayout
。可能的值:桌面、平板、移动、机器人。由@ReneKreijveld制作。
Magento
-
Magento helper来自Optimise Web,它使Mobile Detect提供的所有功能可用。由Kathir Vel制作。
-
Magento 2 Mobile Detect Theme Change是用于Magento 2的扩展,可以更改主题或重定向到不同的URL。还包含一个用于检查设备类型的辅助程序。
PrestaShop
- PrestaShop是一个免费、安全且开源的购物车平台。自1.5.x版本以来,Mobile_Detect包含在默认安装包中。
Laravel
-
Agent是基于Mobile Detect的Laravel用户代理类,具有一些额外的功能。由Jens Segers制作。
-
Laravel Mobile Detect是一个包,允许您在Laravel Blade模板中直接使用设备检测。(利用了知名、不断更新的PHP移动检测库。)由Barnabas Kecskes制作。
-
BrowserDetect是一个浏览器和移动检测包,收集和包装了Laravel中最好的用户代理标识符。由Varga Zsolt创建。
Zend Framework
-
ZF2 Mobile-Detect是一个Zend Framework 2模块,提供了Mobile-Detect功能(Mobile_Detect类作为服务、视图辅助程序和插件控制器辅助程序)。由neilime制作。
-
ZF2 MobileDetectModule简化了PHP MobileDetect类与基于ZF2的应用程序的集成。与现有的ZF2 Mobile-Detect模块类似,但在Mobile_Detect类的初始化和提供程序方面有所不同。适当的视图辅助程序和控制插件也有不同的概念。由Nikola Posa制作。
Symfony
-
Symfony3 MobileDetectBundle是一个用于检测移动设备、管理移动视图并重定向到移动和平板电脑版本的Symfony包。由Théo Attali制作。
-
Symfony2 Mobile Detect Bundle是一个用于检测移动设备、管理移动视图并重定向到移动和平板电脑版本的包。由Nikolay Ivlev制作。
-
Silex 移动检测服务提供商是一个与移动检测类方法交互的服务提供商。由Lhassan Baazzi创建。
Slim 框架
- Slim_Mobile_Detect实现了在Slim框架应用程序中写入不同响应的Mobile_Detect库。
ExpressionEngine
- EE2 Detect Mobile是一个为EE2设计的轻量级PHP插件,它使用Mobile Detect类检测移动浏览器。由Gareth Davies创建。
Yii 框架
-
Yii 扩展 - Yii框架的移动检测插件。由Alexey Salnikov创建。
-
Yii 扩展 - 支持Composer包管理器的Yii框架1.x版本的移动检测组件。由Candas Minareci创建。
-
Yii2 Device Detect - Mobile-Detect库的Yii2扩展。由Alexander Nestorov创建。
CakePHP
- CakePHP MobileDetect是 CakePHP 2.x 的插件组件。由Gregory Gaskill创建。
FuelPHP
- Special Agent是一个FuelPHP包,它使用php-mobile-detect来确定设备是否为移动设备。它覆盖了Fuelphp Agent类及其方法。由Robbie Bardjin创建。
TYPO3
- px_mobiledetect是一个扩展,它帮助检测访客的移动设备类型(如果是平板电脑或智能手机等移动设备)。由Alexander Tretyak创建。
其他
-
PageCache是一个轻量级PHP库,用于完整页面缓存,内置Mobile-Detect支持。由Muhammed Mamedov创建。
-
Statamic CMS 移动检测是一个插件。由Haiku Lab的Sergei Filippov创建。
-
Kohana Mobile Detect是使用Kohana框架实现Mobile_Detect类的一个示例。由Luiz Alberto S. Ribeiro编写。
-
MemHT是一个免费PHP CMS和博客,允许通过简单步骤创建和管理网站。核心包含该类。
-
concrete5是一个免费开源的CMS。库包含在核心中。
-
engine7是一个PHP开源框架。Mobile_Detect类包含在框架中。
-
Zikula是一个免费开源的内容管理系统框架,允许您运行令人印象深刻的网站并构建强大的在线应用程序。核心使用Mobile-Detect切换到特殊的移动主题,使用jQueryMobile。
-
UserAgentInfo 是一个用于解析用户代理字符串(HTTP_USER_AGENT)的 PHP 类。包括移动设备检测、机器人检测、浏览器类型/版本等。基于 browscap、Mobile_Detect 和 ua-parser。专为高流量网站和快速批量处理而设计。由 quentin389 开发。
-
LJ Mobile Detect 是为 Craft CMS 实现的简单 Mobile Detect。由 Lewis Jenkins 开发。
-
Detect Craft 是 Mobile_Detect 库的 Craft CMS 包装器。由 Mikkel Rummelhoff 开发。
-
Grav Plugin Mobile Detect 是为 Grav CMS 实现的简单 Mobile Detect。由 Dimitri Longo 开发。
Perl
- MobileDetect.pm 是用于 Mobile Detect 的 Perl 模块。由 Sebastian Enger 开发。
Python
- pymobiledetect - Mobile detect python 包。由 Bas van Oostveen 开发。
Ruby
- mobile_detect.rb 是一个 Ruby gem,使用由 php 项目暴露的 JSON 数据,并实现 API 的基本子集(尽可能多地实现)。由 Karthik T 开发。
Go
- GoMobileDetect 是 Mobile Detect 类的 Go 版本。由 https://github.com/Shaked 开发。
LUA
- ua-lua 是一个用 LUA 编写的库,提供设备类型检测。ua-lua 基于 nginx 守护进程中的用户代理检测移动或平板设备。由 Frédéric Robinet 开发。
.Net
- mobile-detect 是用 C# 编写的 .Net 部分端口。由 Valentin Dide 开发。
ColdFusion
- MobileDetect 是 Mobile_Detect PHP 库的 CFC 端口。由 Giancarlo Gomez 开发。
实验 💡
- Mobile Detect Fast(参见:#474)是一个用于提高 Mobile Detect 库性能的类。由 LanaGuani 开发。
关于
查看项目的 历史记录。