neilime / zf2-browscap
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
Installs: 2 367
Dependents: 2
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 0
Language:HTML
Requires
- php: >=5.3.3
- zendframework/zendframework: 2.*@stable
This package is auto-updated.
Last update: 2020-09-09 19:18:43 UTC
README
⚠️ This module is for Zend Framework 2, it is deprecated ⚠️
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.
Contributing
If you wish to contribute to ZF2 Browscap, please read both the CONTRIBUTING.md file.
Requirements
- Zend Framework 2 (2.*)
Installation
Main Setup
By cloning project
- Install browscap by cloning it into
./vendor/
. - Clone this project into your
./vendor/
directory.
With composer
-
Add this project in your composer.json:
"require": { "neilime/zf2-browscap": "dev-master" }
-
Now tell composer to download ZF2 Browscap by running the command:
$ php composer.phar update
Post installation
-
Enabling it in your
application.config.php
file.<?php return array( 'modules' => array( // ... 'Neilime\Browscap', ), // ... );
Configuration
- string
browscap_ini_path
: (optionnal) only needed if the native php function get_browser is unavailable or ifallows_native_get_browser
option is set to false. Define the browscap.ini file path (allows locale or remote file) - Zend\Cache\Storage\StorageInterface|string|array
cache
: (optionnal) Define the cache storage adapter to store parsed browscap.ini.
Allows classname and service retrieving anZend\Cache\Storage\StorageInterface
, or an array to be use withZend\Cache\StorageFactory::factory
. This not only saves you from loading and parsing the "browscap.ini" each time, but also guarantees an optimized loading procedure. - boolean
allows_native_get_browser
: Define if the native php function get_browser could be used if it's available.
How to use ZF2 Browscap
ZF2 Browscap module provides a service, helper for views and plugin for controllers
-
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;
-
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;
-
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;
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