Skip to content

ZF2 Browscap is a Zend Framework 2 module that provides browser capabilities tools

Notifications You must be signed in to change notification settings

atodd/zf2-browscap

 
 

Repository files navigation

ZF2 Browscap, v1.0

Build Status Code coverage

NOTE : If you want to contribute don't hesitate, I'll review any PR.

Introduction

ZF2 Browscap is a Zend Framework 2 module that provides an improved get_browser function. This module could be standalone if "browscap" configuration setting in php.ini is undefined or does not point to the correct location of the browscap.ini file.

Requirements

Installation

Main Setup

By cloning project

  1. Install browscap by cloning it into ./vendor/.
  2. Clone this project into your ./vendor/ directory.

With composer

  1. Add this project in your composer.json:

    "require": {
        "neilime/zf2-browscap": "dev-master"
    }
  2. Now tell composer to download ZF2 Browscap by running the command:

    $ php composer.phar update

Post installation

  1. Enabling it in your application.config.phpfile.

    <?php
    return array(
        'modules' => array(
            // ...
            'Neilime\Browscap',
        ),
        // ...
    );

How to use ZF2 Browscap

ZF2 Browscap module provides a service, helper for views and plugin for controllers

  1. Call Browscap with the service manager

    /* @var $serviceManager \Zend\ServiceManager\ServiceLocatorInterface */	
    
    $browscap = $serviceManager->get('BrowscapService'); //Retrieve "\Neilime\Browscap\BrowscapService" object
    var_dump($browscap->getBrowser()); //Display an object which will contain various data elements representing, for instance, the browser's major and minor version numbers and ID string;
  2. Call Browscap in a controller "get_browser" plugin expects the same params as the native php function get_browser.

    $browscap = $this->get_browser(); //Retrieve an object
    echo $browscap->parent;
    
    $browscap = $this->get_browser(null,true); //Retrieve an array
    echo $browscap['parent'];
    
    $browscap = $this->get_browser(
    	\Zend\Http\Header\UserAgent::fromString('User-Agent: Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19')
    ); //Retrieve an object with an arbitrary user agent
    echo $browscap->parent;   	
  3. Call Browscap in a view "get_browser" helper expects the same params as the native php function get_browser.

    $browscap = $this->get_browser(); //Retrieve an object
    echo $browscap->parent;
    
    $browscap = $this->get_browser(null,true); //Retrieve an array
    echo $browscap['parent'];
       	
    $browscap = $this->get_browser(
    	\Zend\Http\Header\UserAgent::fromString('User-Agent: Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19')
    ); //Retrieve an object with an arbitrary user agent
    echo $browscap->parent;

Configuration

The default configuration is setup to use the native php function get_browser if it's available. Load browscap.ini from "http://browsers.garykeith.com/stream.asp?BrowsCapINI" and cache it in a file otherwise;

  • boolean allows_native_get_browser: Define if the native php function get_browser could be used if it's available.
  • string browscap_ini_path : (optionnal) only needed if the native php function get_browser if it's unavailable or if allows_native_get_browser option is set to false. Define the borwscap.ini file path (could be an url)
  • Zend\Cache\Storage\Adapter|array cache : (optionnal) define the cache adapter. This not only saves you from loading and parsing the "browscap.ini" each time, but also guarantees an optimized loading procedure.

Tools

ZF2 Browscap provides console tools.

Features

Load & parse "browscap.ini" file (or update cached browscap.ini)

Usage

Load & parse "browscap.ini" file

php public/index.php load-browscap

About

ZF2 Browscap is a Zend Framework 2 module that provides browser capabilities tools

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 97.0%
  • CSS 3.0%