API Documentation

Zend/Http/UserAgent.php

Show: inherited
Table of Contents

Zend Framework

LICENSE

This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Http_UserAgent  
Subpackage
UserAgent  

\Zend_Http_UserAgent

Package: Zend\Http\UserAgent\UserAgent

Lists of User Agent chains for testing :

  • http://www.useragentstring.com/layout/useragentstring.php
  • http://user-agent-string.info/list-of-ua
  • http://www.user-agents.org/allagents.xml
  • http://en.wikipedia.org/wiki/List_of_user_agents_for_mobile_phones
  • http://www.mobilemultimedia.be/fr/
Implements
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Constants

Constant  DEFAULT_IDENTIFICATION_SEQUENCE = 'mobile,desktop'

'desktop' by default if the sequence return false for each item or is empty

Constant  DEFAULT_PERSISTENT_STORAGE_ADAPTER = 'Session'

Default persitent storage adapter : Session or NonPersitent

Constant  DEFAULT_BROWSER_TYPE = 'desktop'

'desktop' by default if the sequence return false for each item

Constant  DEFAULT_HTTP_USER_AGENT = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'

Default User Agent chain to prevent empty value

Constant  DEFAULT_HTTP_ACCEPT = "application/xhtml+xml"

Default Http Accept param to prevent empty value

Constant  DEFAULT_MARKUP_LANGUAGE = "xhtml"

Default markup language

Properties

Propertyprotectedstring  $_browserType= ''

Browser type

Details
Type
string
Propertyprotectedarray  $_browserTypeClass= 'array()'

Browser type class

Map of browser types to classes.

Default valuearray()Details
Type
array
Propertyprotectedarray  $_config= 'array( 'identification_sequence' => self::DEFAULT_IDENTIFICATION_SEQUENCE'

Array to store config

Default values are provided to ensure specific keys are present at instantiation.

Default valuearray( 'identification_sequence' => self::DEFAULT_IDENTIFICATION_SEQUENCEDetails
Type
array
Propertyprotected\Zend_Http_UserAgent_Device  $_device= ''

Identified device

Propertyprotectedbool  $_immutable= 'false'

Whether or not this instance is immutable.

If true, none of the following may be modified: - $_server - $_browserType - User-Agent (defined in $_server) - HTTP Accept value (defined in $_server) - $_storage

Default valuefalseDetails
Type
bool
Propertyprotectedarray  $_loaderTypes= 'array('storage''

Valid plugin loader types

Default valuearray('storage'Details
Type
array
Propertyprotectedarray  $_loaders= 'array()'

Plugin loaders

Default valuearray()Details
Type
array
Propertyprotectedarray  $_matchLog= 'array()'

Trace of items matched to identify the browser type

Default valuearray()Details
Type
array
Propertyprotectedarray  $_server= ''

Server variable

Details
Type
array
Propertyprotected\Zend_Http_UserAgent_Storage  $_storage= ''

Persistent storage handler

Methods

methodpublic__construct( null|array|\Zend_Config|\ArrayAccess $options = null ) : void

Constructor

Parameters
Name Type Description
$options null|array|\Zend_Config|\ArrayAccess
methodprotected_createDevice( ) : void

Creates device object instance

methodprotected_getUserAgentDevice( string $browserType ) : string

Loads class for a user agent device

Parameters
Name Type Description
$browserType string

Browser type

Returns
Type Description
string
Throws
Exception Description
\Zend_Loader_PluginLoader_Exception if unable to load UA device
methodprotected_match( string $deviceClass ) : bool

Comparison of the UserAgent chain and browser signatures.

The comparison is case-insensitive : the browser signatures must be in lower case

Parameters
Name Type Description
$deviceClass string

Name of class against which a match will be attempted

Returns
Type Description
bool
methodprotected_matchUserAgent( ) : \Zend_Http_UserAgent_Result

Run the identification sequence to match the right browser type according to the user agent

Returns
Type Description
\Zend_Http_UserAgent_Result
methodprotected_validateLoaderType( string $type ) : string

Validate a plugin loader type

Verifies that it is in {@link $_loaderTypes}, and returns a normalized version of the type.

Parameters
Name Type Description
$type string
Returns
Type Description
string
Throws
Exception Description
\Zend_Http_UserAgent_Exception on invalid type
methodpublicclearStorage( string $browser = null ) : void

Clean the persistent storage

Parameters
Name Type Description
$browser string

Browser identifier (User Agent chain)

methodpublicgetBrowserType( ) : string

Retrieve the browser type

Returns
Type Description
string $browserType
methodpublicgetConfig( ) : array

Get user configuration

Returns
Type Description
array
methodpublicgetDevice( ) : \Zend_Http_UserAgent_Device

Returns the device object

This is the object that will contain the various discovered device capabilities.

Returns
Type Description
\Zend_Http_UserAgent_Device $device
methodpublicgetHttpAccept( string $httpAccept = null ) : string

Returns the HTTP Accept server param

Parameters
Name Type Description
$httpAccept string

(option) forced HTTP Accept chain

Returns
Type Description
string
methodpublicgetPluginLoader( string $type ) : \Zend_Loader_PluginLoader

Get a plugin loader

Parameters
Name Type Description
$type string

A valid plugin loader type; see {@link $_loaderTypes}

Returns
Type Description
\Zend_Loader_PluginLoader
methodpublicgetServer( ) : array

Retrieve the "$_SERVER" array

Basically, the $_SERVER array or an equivalent container storing the data that will be introspected.

If the value has not been previously set, it sets itself from the $_SERVER superglobal.

Returns
Type Description
array
methodpublicgetServerValue( string $key ) : mixed

Retrieve a server value

Parameters
Name Type Description
$key string
Returns
Type Description
mixed
methodpublicgetStorage( string $browser = null ) : \Zend_Http_UserAgent_Storage

Returns the persistent storage handler

Session storage is used by default unless a different storage adapter has been set via the "persistent_storage_adapter" key. That key should contain either a fully qualified class name, or a short name that resolves via the plugin loader.

Parameters
Name Type Description
$browser string

Browser identifier (User Agent chain)

Returns
Type Description
\Zend_Http_UserAgent_Storage
methodpublicgetUserAgent( ) : string

Returns the User Agent value

If $userAgent param is null, the value of $_server['HTTP_USER_AGENT'] is returned.

Returns
Type Description
string
methodpublicserialize( ) : string

Serialized representation of the object

Returns
Type Description
string
methodpublicsetBrowserType( string $browserType ) : \Zend_Http_UserAgent

Set the browser "type"

Parameters
Name Type Description
$browserType string
Returns
Type Description
\Zend_Http_UserAgent
methodpublicsetConfig( mixed $config = array() ) : \Zend_Http_UserAgent

Config parameters is an Array or a Zend_Config object

The allowed parameters are : - the identification sequence (can be empty) => desktop browser type is the default browser type returned $config['identification_sequence'] : ',' separated browser types - the persistent storage adapter $config['persistent_storage_adapter'] = "Session" or "NonPersistent" - to add or replace a browser type device $config[(type)]['device']['path'] $config[(type)]['device']['classname'] - to add or replace a browser type features adapter $config[(type)]['features']['path'] $config[(type)]['features']['classname']

Parameters
Name Type Description
$config mixed

(option) Config array

Returns
Type Description
\Zend_Http_UserAgent
methodpublicsetHttpAccept( string $httpAccept ) : \Zend_Http_UserAgent

Force or replace the HTTP_ACCEPT chain in self::$_server variable

Parameters
Name Type Description
$httpAccept string

Forced HTTP Accept chain

Returns
Type Description
\Zend_Http_UserAgent
methodpublicsetOptions( array|\Zend_Config|\ArrayAccess $options ) : \Zend_Http_UserAgent

Configure instance

Parameters
Name Type Description
$options array|\Zend_Config|\ArrayAccess
Returns
Type Description
\Zend_Http_UserAgent
methodpublicsetPluginLoader( string $type, string|\Zend_Loader_PluginLoader $loader ) : \Zend_Http_UserAgent

Set plugin loader

Parameters
Name Type Description
$type string

Type of plugin loader; one of 'storage', (?)

$loader string|\Zend_Loader_PluginLoader
Returns
Type Description
\Zend_Http_UserAgent
methodpublicsetServer( array|\ArrayAccess $server ) : void

Set the "$_SERVER" array

Basically, the $_SERVER array or an equivalent container storing the data that will be introspected.

Parameters
Name Type Description
$server array|\ArrayAccess
Throws
Exception Description
\Zend_Http_UserAgent_Exception on invalid parameter
methodpublicsetServerValue( string|int|float $key, mixed $value ) : void

Set a server value

Parameters
Name Type Description
$key string|int|float
$value mixed
methodpublicsetStorage( \Zend_Http_UserAgent_Storage $storage ) : \Zend_Http_UserAgent

Sets the persistent storage handler

Parameters
Name Type Description
$storage \Zend_Http_UserAgent_Storage
Returns
Type Description
\Zend_Http_UserAgent
methodpublicsetUserAgent( string $userAgent ) : \Zend_Http_UserAgent

Force or replace the UA chain in $_server variable

Parameters
Name Type Description
$userAgent string

Forced UserAgent chain

Returns
Type Description
\Zend_Http_UserAgent
methodpublicunserialize( string $serialized ) : void

Unserialize a previous representation of the object

Parameters
Name Type Description
$serialized string
Documentation was generated by DocBlox 0.15.1.