A variety of databases exist that define browser device features and capabilities.
Zend_Http_UserAgent provides the ability to utilize the database
of your choice via a features adapter interface.
The features adapter is passed a request array that contains the User-Agent string and any other relevant HTTP headers and environment pertinent to detecting the device in use. Additionally, if any adapter-specific configuration might be needed, an additional configuration array will be provided. The adapter must then return an array of device capabilities.
The adapter interface is quite simple, defining but the single static method
* Retrieve the browser's features from a given request object ($_SERVER)
* @return array
public static function getFromRequest($request, array $config);