# The Session UserAgent Storage Adapter

## Overview

This storage adapter utilizes Zend_Session_Namespace for persisting discovered device capabilities for a given user session.

## Quick Start

This particular storage adapter is used by default with Zend_Http_UserAgent. As such, you will benefit from it from the outset without any real configuration necessary.

You can alter the behavior slightly, however, by altering the namespace used, and the key (or member) in which data is written. You may do so by specifying the `browser_type` (mapped to namespace) and `member` options in your configuration.

    resources.useragent.storage.adapter = "Session"
    resources.useragent.storage.options.browser_type = "all"
    resources.useragent.storage.options.member = "data"

Typically, you will not pass the `browser_type` option, and instead let this be populated by the value discovered by the UserAgent class.

## Configuration Options

Session Storage Options

browser_type

  Provide this in order to hardcode the session namespace in which you wish to store the User-Agent data. By default, the currently discovered browser type will be used, or, if not provided, the value "Zend_Http_UserAgent".

member

  This is the specific variable member within the session namespace in which the data will be stored. By default, the value "storage" will be used.

## Available Methods

__construct $options = null

  Accepts an array or object containing options. See the configuration options section for details on the `$options` variable.

isEmpty

  Used to determine whether or not the storage has been populated yet.

read

  Retrieve previously stored data from the storage adapter.

write $contents

  Write data to the storage adapter for later retrieval. `$contents` should be a string containing the serialized UserAgent object.

clear

  Clear the storage of any data.