widgit/browser
Composer 安装命令:
composer require widgit/browser
包简介
A simple browser detection library.
README 文档
README
What Is This
Helps detect the user's browser and platform at the PHP level via the user agent.
Installation
You can add this library as a local, per-project dependency to your project using Composer:
composer require widgit/browser
If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
composer require --dev widgit/browser
You can also download the latest developer copy of the Browser library by cloning this GitLab repository, or downloading it as a ZIP file here
Typical Usage
$browser = new Browser();
if (
$browser->get_browser() === Browser::BROWSER_FIREFOX &&
$browser->get_version() >= 10
) {
echo 'You have Firefox version 10 or greater';
}
Browser Detection
This solution identifies the following Browsers and does a best-guess on the version:
- Opera (
Browser::BROWSER_OPERA) - WebTV (
Browser::BROWSER_WEBTV) - NetPositive (
Browser::BROWSER_NETPOSITIVE) - Edge (
Browser::BROWSER_EDGE) - Internet Explorer (
Browser::BROWSER_IE) - Pocket Internet Explorer (
Browser::BROWSER_POCKET_IE) - Galeon (
Browser::BROWSER_GALEON) - Konqueror (
Browser::BROWSER_KONQUEROR) - iCab (
Browser::BROWSER_ICAB) - OmniWeb (
Browser::BROWSER_OMNIWEB) - Phoenix (
Browser::BROWSER_PHOENIX) - Firebird (
Browser::BROWSER_FIREBIRD) - UCBrowser (
Browser::BROWSER_UCBROWSER) - Firefox (
Browser::BROWSER_FIREFOX) - Mozilla (
Browser::BROWSER_MOZILLA) - Palemoon (
Browser::BROWSER_PALEMOON) - curl (
Browser::BROWSER_CURL) - wget (
Browser::BROWSER_WGET) - Amaya (
Browser::BROWSER_AMAYA) - Lynx (
Browser::BROWSER_LYNX) - Safari (
Browser::BROWSER_SAFARI) - Playstation (
Browser::BROWSER_PLAYSTATION) - iPhone (
Browser::BROWSER_IPHONE) - iPod (
Browser::BROWSER_IPOD) - Google.s Android(
Browser::BROWSER_ANDROID) - Google.s Chrome(
Browser::BROWSER_CHROME) - GoogleBot(
Browser::BROWSER_GOOGLEBOT) - Yahoo!.s Slurp(
Browser::BROWSER_SLURP) - W3C.s Validator(
Browser::BROWSER_W3CVALIDATOR) - BlackBerry(
Browser::BROWSER_BLACKBERRY)
Operating System Detection
This solution identifies the following Operating Systems:
- Windows (
Browser::PLATFORM_WINDOWS) - Windows CE (
Browser::PLATFORM_WINDOWS_CE) - Apple (
Browser::PLATFORM_APPLE) - Linux (
Browser::PLATFORM_LINUX) - Android (
Browser::PLATFORM_ANDROID) - OS/2 (
Browser::PLATFORM_OS2) - BeOS (
Browser::PLATFORM_BEOS) - iPhone (
Browser::PLATFORM_IPHONE) - iPod (
Browser::PLATFORM_IPOD) - BlackBerry (
Browser::PLATFORM_BLACKBERRY) - FreeBSD (
Browser::PLATFORM_FREEBSD) - OpenBSD (
Browser::PLATFORM_OPENBSD) - NetBSD (
Browser::PLATFORM_NETBSD) - SunOS (
Browser::PLATFORM_SUNOS) - OpenSolaris (
Browser::PLATFORM_OPENSOLARIS) - iPad (
Browser::PLATFORM_IPAD)
History and Legacy
Detecting the user's browser type and version is helpful in web applications that harness some of the newer bleeding edge concepts. With the browser type and version you can notify users about challenges they may experience and suggest they upgrade before using such application. Not a great idea on a large scale public site; but on a private application this type of check can be helpful.
This library is a fork of the Browser.php library by Chris Schuld which strives to keep the functionality of his version, while maintaining compliance with PHPCS and the WPCS and WidgitWPCS coding standards. By extension, WidgitWPCS compliance should also come very close to covering VIPWPCS standards.
The following quote from Chris explains his original motivation:
In an active project of mine we have a pretty graphically intensive and visually appealing user interface which leverages a lot of transparent PNG files. Because we all know how great IE6 supports PNG files it was necessary for us to tell our users the lack of power their browser has in a kind way.
Searching for a way to do this at the PHP layer and not at the client layer was more of a challenge than I would have guessed; the only script available was written by Gary White and Gary no longer maintains this script because of reliability. I do agree 100% with Gary about the readability; however, there are realistic reasons to desire the user's browser and browser version and if your visitor is not echoing a false user agent we can take an educated guess.
I based this solution off of Gary White's original work but have since replaced all of his original code. Either way, thank you to Gary. Sadly, I never was able to get in touch with him regarding this solution.
Bugs
If you find an issue, let us know here!
Contributions
Anyone is welcome to contribute to the library. Please read the guidelines for contributing to this repository.
There are various ways you can contribute:
- Raise an Issue on GitLab
- Send us a Pull Request with your bug fixes and/or new features
- Provide feedback and suggestions on enhancements
widgit/browser 适用场景与选型建议
widgit/browser 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 08 月 02 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「browser」 「user agent」 「detection」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 widgit/browser 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 widgit/browser 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 widgit/browser 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Give your JS App some Backbone with Models, Views, Collections, and Events.
Instrument headless chrome/chromium instances from php5.6
Selenium4 (WebDriver) driver for Mink framework
Custom laravel monolog logger for datadog logs management, both api and agent ways
The Message Submission Agent Diagnostics tool (msadiag) facilitates testing the compatibility of third party message submission agents.
Clusteer is a Puppeteer wrapper written for PHP, with the super-power of parallelizing pages across multiple browser instances.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-08-02