## API Documentation

# Gdata/App.php

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-2011 Zend Technologies USA Inc. (http://www.zend.com)
license
  New BSD License
package
  Zend_Gdata
subpackage
  App
version
  $Id: App.php 23775 2011-03-01 17:25:24Z ralph $

## Functions

`enableRequestDebugLogging( string $logfile ) : void`

This method enables logging of requests by changing the Zend_Http_Client_Adapter used for performing the requests.

NOTE: This will not work if you have customized the adapter already to use a proxy server or other interface.

Parameters

Name | Type | Description
--- | --- | ---
$logfile | string | The logfile to use when logging the requests

`generateIfMatchHeaderData( $data, $allowWeek ) : string|null`

Returns the data for an If-Match header based on the current Etag property. If Etags are not supported by the server or cannot be extracted from the data, then null will be returned.

Parameters

Name | Type | Description
--- | --- | ---
$data |  |
$allowWeek |  |

Returns

Type | Description
--- | ---
stringnull | $data

`getNextFeed( \Zend_Gdata_App_Feed $feed, string $className = null ) : \Zend_Gdata_App_Feed|null`

Retrieve next set of results based on a given feed.

Parameters

Name | Type | Description
--- | --- | ---
$feed | \Zend_Gdata_App_Feed | The feed from which to retreive the next set of results.
$className | string | (optional) The class of feed to be returned. If null, the next feed (if found) will be the same class as the feed that was given as the first argument.

Returns

Type | Description
--- | ---
\Zend_Gdata_App_Feednull | Returns a Zend_Gdata_App_Feed or null if no next set of results exists.

`getPreviousFeed( \Zend_Gdata_App_Feed $feed, string $className = null ) : \Zend_Gdata_App_Feed|null`

Retrieve previous set of results based on a given feed.

Parameters

Name | Type | Description
--- | --- | ---
$feed | \Zend_Gdata_App_Feed | The feed from which to retreive the previous set of results.
$className | string | (optional) The class of feed to be returned. If null, the previous feed (if found) will be the same class as the feed that was given as the first argument.

Returns

Type | Description
--- | ---
\Zend_Gdata_App_Feednull | Returns a Zend_Gdata_App_Feed or null if no previous set of results exists.

`retrieveAllEntriesForFeed( object $feed ) : mixed`

Retrieve all entries for a feed, iterating through pages as necessary.

Be aware that calling this function on a large dataset will take a significant amount of time to complete. In some cases this may cause execution to timeout without proper precautions in place.

Parameters

Name | Type | Description
--- | --- | ---
$feed | object | The feed to iterate through.

Returns

Type | Description
--- | ---
mixed | A new feed of the same type as the one originally passed in, containing all relevent entries.

`useObjectMapping( boolean $value ) : void`

Enable/disable the use of XML to object mapping.

Parameters

Name | Type | Description
--- | --- | ---
$value | boolean | Pass in true to use the XML to object mapping. Pass in false or null to disable it.

`usingObjectMapping( ) : boolean`

Determine whether service object is using XML to object mapping.

Returns

Type | Description
--- | ---
boolean | True if service object is using XML to object mapping, false otherwise.

## \Zend_Gdata_App
jump to top

Provides Atom Publishing Protocol (APP) functionality. This class and all other components of Zend_Gdata_App are designed to work independently from other Zend_Gdata components in order to interact with generic APP services.

category
  Zend
copyright
  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
license
  New BSD License
package
  Zend_Gdata
subpackage
  App

### Constants

`DEFAULT_MAJOR_PROTOCOL_VERSION = '1'`

Default major protocol version.

see
  \_majorProtocolVersion

`DEFAULT_MINOR_PROTOCOL_VERSION = 'null'`

Default minor protocol version.

see
  \_minorProtocolVersion

### Properties

`string $_defaultPostUri= 'null'`

Default URI to which to POST.

Default value `null` Details

Type
  string

`boolean $_gzipEnabled= 'false'`
static

Enable gzipped responses?

Default value `false` Details

Type
  boolean

`\Zend_Http_Client $_httpClient= ''`

Client object used to communicate

Details

Type
  \Zend_Http_Client

`boolean $_httpMethodOverride= 'false'`
static

Override HTTP PUT and DELETE request methods?

Default value `false` Details

Type
  boolean

`$_majorProtocolVersion= ''`

Indicates the major protocol version that should be used.

At present, recognized values are either 1 or 2. However, any integer value >= 1 is considered valid.

Under most circumtances, this will be automatically set by Zend_Gdata_App subclasses.

Details

Type
see
  \setMajorProtocolVersion()
see
  \getMajorProtocolVersion()

`int $_maxRedirects= '5'`
static

Maximum number of redirects to follow during HTTP operations

Default value `5` Details

Type
  int

`$_minorProtocolVersion= ''`

Indicates the minor protocol version that should be used. Can be set to either an integer >= 0, or NULL if no minor version should be sent to the server.

At present, this field is not used by any Google services, but may be used in the future.

Under most circumtances, this will be automatically set by Zend_Gdata_App subclasses.

Details

Type
see
  \setMinorProtocolVersion()
see
  \getMinorProtocolVersion()

`array $_registeredPackages= 'array'`

Packages to search for classes when using magic __call method, in order.

Default value `array` Details

Type
  array

`\Zend_Http_Client $_staticHttpClient= 'null'`
static

Client object used to communicate in static context

Default value `null` Details

Type
  \Zend_Http_Client

`boolean $_useObjectMapping= 'true'`

Whether we want to use XML to object mapping when fetching data.

Default value `true` Details

Type
  boolean

`boolean $_verboseExceptionMessages= 'true'`
static

Use verbose exception messages. In the case of HTTP errors, use the body of the HTTP response in the exception message.

Default value `true` Details

Type
  boolean

### Methods

`__call( string $method, array $args ) : void`

Provides a magic factory method to instantiate new objects with shorter syntax than would otherwise be required by the Zend Framework naming conventions. For instance, to construct a new Zend_Gdata_Calendar_Extension_Color, a developer simply needs to do $gCal->newColor(). For this magic constructor, packages are searched in the same order as which they appear in the $_registeredPackages array

Parameters

Name | Type | Description
--- | --- | ---
$method | string | The method name being called
$args | array | The arguments passed to the call

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |

`__construct( \Zend_Http_Client $client = null, string $applicationId = MyCompany-MyApp-1.0 ) : void`

Create Gdata object

Parameters

Name | Type | Description
--- | --- | ---
$client | \Zend_Http_Client |
$applicationId | string |

`delete( mixed $data, $remainingRedirects = null ) : void`

DELETE entry with client object

Parameters

Name | Type | Description
--- | --- | ---
$data | mixed | The Zend_Gdata_App_Entry or URL to delete
$remainingRedirects |  |

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |
\Zend_Gdata_App_HttpException |
\Zend_Gdata_App_InvalidArgumentException |

`get( string $uri, array $extraHeaders = array ) : \Zend_Http_Response`

GET a URI using client object.

Parameters

Name | Type | Description
--- | --- | ---
$uri | string | GET URI
$extraHeaders | array | Extra headers to add to the request, as an array of string-based key/value pairs.

Returns

Type | Description
--- | ---
\Zend_Http_Response |

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_HttpException |

`getEntry( string $uri, string $className = Zend_Gdata_App_Entry ) : string|\Zend_Gdata_App_Entry`

Retrieve entry as string or object

Parameters

Name | Type | Description
--- | --- | ---
$uri | string |
$className | string | The class which is used as the return type

Returns

Type | Description
--- | ---
string\Zend_Gdata_App_Entry | Returns string only if the object mapping has been disabled explicitly by passing false to the useObjectMapping() function.

`getFeed( string $uri, string $className = Zend_Gdata_App_Feed ) : string|\Zend_Gdata_App_Feed`

Retrieve feed as string or object

Parameters

Name | Type | Description
--- | --- | ---
$uri | string | The uri from which to retrieve the feed
$className | string | The class which is used as the return type

Returns

Type | Description
--- | ---
string\Zend_Gdata_App_Feed | Returns string only if the object mapping has been disabled explicitly by passing false to the useObjectMapping() function.

`getGzipEnabled( ) : boolean`
static

Get the HTTP override state

Returns

Type | Description
--- | ---
boolean |

`getHttpClient( ) : \Zend_Http_Client`

Get the Zend_Http_Client object used for communication

Returns

Type | Description
--- | ---
\Zend_Http_Client |

`getHttpMethodOverride( ) : boolean`
static

Get the HTTP override state

Returns

Type | Description
--- | ---
boolean |

`getMajorProtocolVersion( ) : int`

Get the major protocol version that is in use.

Returns

Type | Description
--- | ---
int | The major protocol version in use.

Details

see
  \_majorProtocolVersion

`getMaxRedirects( ) : int`
static

Get the maximum number of redirects to follow during HTTP operations

Returns

Type | Description
--- | ---
int | Maximum number of redirects to follow

`getMinorProtocolVersion( ) : \(int|\NULL)`

Get the minor protocol version that is in use.

Returns

Type | Description
--- | ---
\(int\NULL) | The major protocol version in use, or NULL if no minor version is specified.

Details

see
  \_minorProtocolVersion

`getStaticHttpClient( ) : \Zend_Http_Client`
static

Gets the HTTP client object. If none is set, a new Zend_Http_Client will be used.

Returns

Type | Description
--- | ---
\Zend_Http_Client |

`getVerboseExceptionMessages( ) : boolean`
static

Get whether to use verbose exception messages

In the case of HTTP errors, use the body of the HTTP response in the exception message.

Returns

Type | Description
--- | ---
boolean |

`import( string $uri, \Zend_Http_Client $client = null, string $className = Zend_Gdata_App_Feed ) : string|\Zend_Gdata_App_Feed`
static

Imports a feed located at $uri.

Parameters

Name | Type | Description
--- | --- | ---
$uri | string |
$client | \Zend_Http_Client | The client used for communication
$className | string | The class which is used as the return type

Returns

Type | Description
--- | ---
string\Zend_Gdata_App_Feed | Returns string only if the object mapping has been disabled explicitly by passing false to the useObjectMapping() function.

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |

`importFile( string $filename, string $className = Zend_Gdata_App_Feed, string $useIncludePath = false ) : \Zend_Gdata_App_Feed`
static

Imports a feed from a file located at $filename.

Parameters

Name | Type | Description
--- | --- | ---
$filename | string |
$className | string | The class which is used as the return type
$useIncludePath | string | Whether the include_path should be searched

Returns

Type | Description
--- | ---
\Zend_Gdata_App_Feed |

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |

`importString( string $string, string $className = Zend_Gdata_App_Feed, $majorProtocolVersion = null, $minorProtocolVersion = null ) : \Zend_Gdata_App_Feed`
static

Imports a feed represented by $string.

Parameters

Name | Type | Description
--- | --- | ---
$string | string |
$className | string | The class which is used as the return type
$majorProtocolVersion |  |
$minorProtocolVersion |  |

Returns

Type | Description
--- | ---
\Zend_Gdata_App_Feed |

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |

`importUrl( string $url, string $className = Zend_Gdata_App_Feed, array $extraHeaders = array ) : string|\Zend_Gdata_App_Feed`

Imports the specified URL (non-statically).

Parameters

Name | Type | Description
--- | --- | ---
$url | string | The URL to import
$className | string | The class which is used as the return type
$extraHeaders | array | Extra headers to add to the request, as an array of string-based key/value pairs.

Returns

Type | Description
--- | ---
string\Zend_Gdata_App_Feed | Returns string only if the object mapping has been disabled explicitly by passing false to the useObjectMapping() function.

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |

`insertEntry( mixed $data, string $uri, string $className = Zend_Gdata_App_Entry, array $extraHeaders = array ) : \Zend_Gdata_App_Entry`

Inserts an entry to a given URI and returns the response as a fully formed Entry.

Parameters

Name | Type | Description
--- | --- | ---
$data | mixed | The Zend_Gdata_App_Entry or XML to post
$uri | string | POST URI
$className | string | The class of entry to be returned.
$extraHeaders | array | Extra headers to add to the request, as an array of string-based key/value pairs.

Returns

Type | Description
--- | ---
\Zend_Gdata_App_Entry | The entry returned by the service after insertion.

`performHttpRequest( string $method, string $url, array $headers = null, string $body = null, string $contentType = null, int $remainingRedirects = null ) : \Zend_Http_Response`

Performs a HTTP request using the specified method

Parameters

Name | Type | Description
--- | --- | ---
$method | string | The HTTP method for the request - 'GET', 'POST', 'PUT', 'DELETE'
$url | string | The URL to which this request is being performed
$headers | array | An associative array of HTTP headers for this request
$body | string | The body of the HTTP request
$contentType | string | The value for the content type of the request body
$remainingRedirects | int | Number of redirects to follow if request s results in one

Returns

Type | Description
--- | ---
\Zend_Http_Response | The response object

`post( mixed $data, string $uri = null, $remainingRedirects = null, string $contentType = null, array $extraHeaders = null ) : \Zend_Http_Response`

POST data with client object

Parameters

Name | Type | Description
--- | --- | ---
$data | mixed | The Zend_Gdata_App_Entry or XML to post
$uri | string | POST URI
$remainingRedirects |  |
$contentType | string | Content-type of the data
$extraHeaders | array | Extra headers to add to the request, as an array of string-based key/value pairs.

Returns

Type | Description
--- | ---
\Zend_Http_Response |

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |
\Zend_Gdata_App_HttpException |
\Zend_Gdata_App_InvalidArgumentException |

`prepareRequest( string $method, string $url = null, array $headers = array, mixed $data = null, string $contentTypeOverride = null ) : array`

Provides pre-processing for HTTP requests to APP services.

1. Checks the $data element and, if it's an entry, extracts the XML, multipart data, edit link (PUT,DELETE), etc.
2. If $data is a string, sets the default content-type header as 'application/atom+xml' if it's not already been set.
3. Adds a x-http-method override header and changes the HTTP method to 'POST' if necessary as per getHttpMethodOverride()

Parameters

Name | Type | Description
--- | --- | ---
$method | string | The HTTP method for the request - 'GET', 'POST', 'PUT', 'DELETE'
$url | string | The URL to which this request is being performed, or null if found in $data
$headers | array | An associative array of HTTP headers for this request
$data | mixed | The Zend_Gdata_App_Entry or XML for the body of the request
$contentTypeOverride | string | The override value for the content type of the request body

Returns

Type | Description
--- | ---
array | An associative array containing the determined 'method', 'url', 'data', 'headers', 'contentType'

`put( mixed $data, string $uri = null, $remainingRedirects = null, string $contentType = null, array $extraHeaders = null ) : \Zend_Http_Response`

PUT data with client object

Parameters

Name | Type | Description
--- | --- | ---
$data | mixed | The Zend_Gdata_App_Entry or XML to post
$uri | string | PUT URI
$remainingRedirects |  |
$contentType | string | Content-type of the data
$extraHeaders | array | Extra headers to add to the request, as an array of string-based key/value pairs.

Returns

Type | Description
--- | ---
\Zend_Http_Response |

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |
\Zend_Gdata_App_HttpException |
\Zend_Gdata_App_InvalidArgumentException |

`registerPackage( string $name ) : void`

Adds a Zend Framework package to the $_registeredPackages array.

This array is searched when using the magic __call method below to instantiante new objects.

Parameters

Name | Type | Description
--- | --- | ---
$name | string | The name of the package (eg Zend_Gdata_App)

`setGzipEnabled( boolean $enabled = false ) : void`
static

Toggle requesting gzip encoded responses

Parameters

Name | Type | Description
--- | --- | ---
$enabled | boolean | Whether or not to enable gzipped responses

`setHttpClient( \Zend_Http_Client $client, $applicationId = MyCompany-MyApp-1.0 ) : \Zend_Gdata_App`

Set the Zend_Http_Client object used for communication

Parameters

Name | Type | Description
--- | --- | ---
$client | \Zend_Http_Client | The client to use for communication
$applicationId |  |

Returns

Type | Description
--- | ---
\Zend_Gdata_App | Provides a fluent interface

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_HttpException |

`setHttpMethodOverride( boolean $override = true ) : void`
static

Toggle using POST instead of PUT and DELETE HTTP methods

Some feed implementations do not accept PUT and DELETE HTTP methods, or they can't be used because of proxies or other measures. This allows turning on using POST where PUT and DELETE would normally be used; in addition, an X-Method-Override header will be sent with a value of PUT or DELETE as appropriate.

Parameters

Name | Type | Description
--- | --- | ---
$override | boolean | Whether to override PUT and DELETE with POST.

`setMajorProtocolVersion( int $value ) : void`

Set the major protocol version that should be used. Values < 1 will cause a Zend_Gdata_App_InvalidArgumentException to be thrown.

Parameters

Name | Type | Description
--- | --- | ---
$value | int | The major protocol version to use.

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_InvalidArgumentException |

Details

see
  \_majorProtocolVersion

`setMaxRedirects( int $maxRedirects ) : void`
static

Set the maximum number of redirects to follow during HTTP operations

Parameters

Name | Type | Description
--- | --- | ---
$maxRedirects | int | Maximum number of redirects to follow

`setMinorProtocolVersion( \(int|\NULL) $value ) : void`

Set the minor protocol version that should be used. If set to NULL, no minor protocol version will be sent to the server. Values < 0 will cause a Zend_Gdata_App_InvalidArgumentException to be thrown.

Parameters

Name | Type | Description
--- | --- | ---
$value | \(int|\NULL) | The minor protocol version to use.

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_InvalidArgumentException |

Details

see
  \_minorProtocolVersion

`setStaticHttpClient( \Zend_Http_Client $httpClient ) : void`
static

Set the static HTTP client instance

Sets the static HTTP client object to use for retrieving the feed.

Parameters

Name | Type | Description
--- | --- | ---
$httpClient | \Zend_Http_Client |

`setVerboseExceptionMessages( boolean $verbose ) : void`
static

Set whether to use verbose exception messages

In the case of HTTP errors, use the body of the HTTP response in the exception message.

Parameters

Name | Type | Description
--- | --- | ---
$verbose | boolean | Whether to use verbose exception messages

`updateEntry( mixed $data, string|null $uri = null, string|null $className = null, array $extraHeaders = array ) : \Zend_Gdata_App_Entry`

Update an entry

Parameters

Name | Type | Description
--- | --- | ---
$data | mixed | Zend_Gdata_App_Entry or XML (w/ID and link rel='edit')
$uri | string|null | The URI to send requests to, or null if $data contains the URI.
$className | string|null | The name of the class that should be deserialized from the server response. If null, then 'Zend_Gdata_App_Entry' will be used.
$extraHeaders | array | Extra headers to add to the request, as an array of string-based key/value pairs.

Returns

Type | Description
--- | ---
\Zend_Gdata_App_Entry | The entry returned from the server

Throws

Exception | Description
--- | ---
\Zend_Gdata_App_Exception |

Documentation was generated by DocBlox 0.13.3.