Giter VIP home page Giter VIP logo

browscap-php's Introduction

Browser Capabilities PHP Project

Hacking around with PHP to have a better solution than get_browser()

Build Status Code Coverage Scrutinizer Quality Score

Changes (new version - 2.0)

Please see changelog for a list of recent changes. (huge performance improvements!)

Introduction

The browscap.ini file is a database which provides a lot of details about browsers and their capabilities, such as name, versions, Javascript support and so on.

The browscap.ini, which provides a lot of details about browsers and their capabilities, such as name, versions, Javascript support and so on.

PHP's native get_browser() function parses this file and provides you with a complete set of information about every browser's details, But it requires the path to the browscap.ini file to be specified in the php.ini browscap directive which is flagged as PHP_INI_SYSTEM.

Since in most shared hosting environments you have not access to the php.ini file, the browscap directive cannot be modified and you are stuck with either and outdated database or without browscap support at all.

Browscap is a standalone class for PHP >=5.3 that gets around the limitations of get_browser() and manages the whole thing. It offers methods to update, cache, adapt and get details about every supplied user agent on a standalone basis. It's also much faster than get_browser() while still returning the same results.

Browscap is a Composer package.

The Browscap.ini database now has an official site at http://browscap.org/.

Quick start

A quick start guide is available on the GitHub wiki at the original repostitory for this project, at the following address: https://github.com/GaretJax/phpbrowscap/wiki/QuickStart (the Wiki is on the original project page)

Features

Here is a non-exhaustive feature list of the Browscap class:

  • Very fast
    • at least 3 times faster than get_browser() when not using opcache
    • 20 or more times faster than get_browser() when using opcache (see tests)
  • Standalone and fully PHP configuration independent (no need for php.ini setting)
  • Fully get_browser() compatible (with some get_browser() bugs fixed)
  • User agent auto-detection
  • Returns object or array
  • Parsed .ini file cached directly into PHP arrays (leverages opcache)
  • Accepts any .ini file (even ASP and lite versions)
  • Auto updated browscap.ini file and cache from remote server with version checking
  • Fully configurable, including configurable remote update server and update schedules
  • PHP >= 5.3 compatible
  • Released under the MIT License

Issues and feature requests

Please report your issues and ask for new features on the GitHub Issue Tracker at https://github.com/browscap/browscap-php/issues

Please report incorrectly identified User Agents and browser detect in the browscap.ini file here: https://github.com/browscap/browscap/issues

browscap-php's People

Contributors

asgrim avatar cziegenberg avatar daawesomep avatar dominikto avatar erunion avatar garetjax avatar jonathaningram avatar joshuaestes avatar mimmi20 avatar quentin389 avatar scrutinizer-auto-fixer avatar smatyas avatar vitorbrandao avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.