elao / browser-detector-bundle
1.1.2
2015-01-23 16:26 UTC
Requires
- php: >=5.3.3
- elao/browser-detector: 1.1.*
- symfony/framework-bundle: ~2.3
This package is not auto-updated.
Last update: 2022-02-01 12:25:44 UTC
README
已弃用:请使用 https://github.com/piwik/device-detector 代替。
变更日志
- 1.1.0
- BrowserCap 和 Browser 现在是单独的 ElaoBrowserDetector 组件
- 重命名一些参数
- 修复 composer
安装
通过 composer 需求此包
"require": {
"elao/browser-detector-bundle": "1.1.*"
}
将包添加到 AppKernel.php
new Elao\Bundle\BrowserDetectorBundle\ElaoBrowserDetectorBundle()
配置
注册您应用程序不支持或不完全支持的浏览器
elao_browser_detector:
browsers:
partially_compatible:
"Internet Explorer": "<9"
"Opera": ~
incompatible:
"IE": "<=7"
接受的版本格式
- none : 任何版本号,例如: "Firefox": ~ (任何 Firefox 版本都会匹配)
- 'n' : 精确版本号,例如: "Firefox": '3.6' (只有 Firefox 3.6 会匹配)
- '>n' : 严格大于,例如: "Firefox": '>3.6' (Firefox 3.6 不会匹配,Firefox 3.7 会)
- '
- '>=n' : 等于或更高版本,例如: "Firefox": '>=3.6' (Firefox 3.6 和 3.7 会匹配)
- '<=n' : 等于或更低版本,例如: "Firefox": '<=3.6' (Firefox 3.6 和 3.5 会匹配)
工作原理
- 此包监听 kernel.request 事件。
- 它从每个主请求的请求中获取 user-agent http 标头指令。
- 它使用 php get_browser 函数(基于 browscap.ini 文件)来检测使用的是哪个浏览器。
- 它实例化一个 Elao\BrowserDetector\Browser 对象,该对象将根据您的配置解决当前浏览器的兼容性。
用法
BrowserDetector 服务
获取 BrowserDetector 服务或将其注入到您的服务中: elao.browser_detector
$browserDetector = $container->get('elao_browser_detector');
// or
<argument type="service" id="elao_browser_detector" />
现在您可以从 BrowserDetector 服务中获取一些兼容性信息
// Compatibility issers :
$browserDetector->isCompatible();
$browserDetector->isPartiallyCompatible();
$browserDetector->isIncompatible();
访问当前浏览器实例
如果需要,您可以处理提供各种辅助方法集的 Browser 对象
// Get the current Browser instance:
$browser = $browserDetector->getBrowser();
// Get the Name of the browser, ex: 'Firefox'
$browser->getName();
// Get the Version of the browser, ex: '22.0'
$browser->getVersion();
// Get the platform of the browser, ex: 'MacOsX'
$browser->getPlatform();
// Compatibility issers:
is(string $name, int $version = null)
isPlatform(string $platform)
isExactly(int $version)
isLaterThan(int $version)
isEqualOrLaterThan(int $version)
isEarlierThan(int $version)
isEqualOrEarlierThan(int $version)