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.
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.

boolean
$_gzipEnabled= 'false'
Enable gzipped responses?
falseDetails
boolean
$_httpMethodOverride= 'false'
Override HTTP PUT and DELETE request methods?
falseDetails
$_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.

int
$_maxRedirects= '5'
Maximum number of redirects to follow during HTTP operations
5Details
$_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.

array
$_registeredPackages= 'array(
'Zend_Gdata_App_Extension''
Packages to search for classes when using magic __call method, in order.
array(
'Zend_Gdata_App_Extension'Details
\Zend_Http_Client
$_staticHttpClient= 'null'
Client object used to communicate in static context

boolean
$_useObjectMapping= 'true'
Whether we want to use XML to object mapping when fetching data.
trueDetails
__call(
string $method, array $args
)
:
voidProvides 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
| Name | Type | Description |
|---|---|---|
| $method | string | The method name being called |
| $args | array | The arguments passed to the call |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

__construct(
\Zend_Http_Client $client
=
null, string $applicationId
=
'MyCompany-MyApp-1.0'
)
:
voidCreate Gdata object
| Name | Type | Description |
|---|---|---|
| $client | \Zend_Http_Client | |
| $applicationId | string |

delete(
mixed $data, $remainingRedirects
=
null
)
:
voidDELETE entry with client object
| Name | Type | Description |
|---|---|---|
| $data | mixed | The Zend_Gdata_App_Entry or URL to delete |
| $remainingRedirects |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception | |
| \Zend_Gdata_App_HttpException | |
| \Zend_Gdata_App_InvalidArgumentException |

enableRequestDebugLogging(
string $logfile
)
:
voidThis 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.
| Name | Type | Description |
|---|---|---|
| $logfile | string | The logfile to use when logging the requests |

generateIfMatchHeaderData(
$data, $allowWeek
)
:
string|nullReturns 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.
| Name | Type | Description |
|---|---|---|
| $data | ||
| $allowWeek |
| Type | Description |
|---|---|
| string|null | $data |

get(
string $uri, array $extraHeaders
=
array()
)
:
\Zend_Http_ResponseGET a URI using client object.
| 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. |
| Type | Description |
|---|---|
| \Zend_Http_Response |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_HttpException |

getEntry(
string $uri, string $className
=
'Zend_Gdata_App_Entry'
)
:
string|\Zend_Gdata_App_EntryRetrieve entry as string or object
| Name | Type | Description |
|---|---|---|
| $uri | string | |
| $className | string | The class which is used as the return type |
| 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_FeedRetrieve feed as string or object
| Name | Type | Description |
|---|---|---|
| $uri | string | The uri from which to retrieve the feed |
| $className | string | The class which is used as the return type |
| 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. |

getHttpClient(
)
:
\Zend_Http_ClientGet the Zend_Http_Client object used for communication
| Type | Description |
|---|---|
| \Zend_Http_Client |

getHttpMethodOverride(
)
:
booleanGet the HTTP override state
| Type | Description |
|---|---|
| boolean |

getMajorProtocolVersion(
)
:
intGet the major protocol version that is in use.
| Type | Description |
|---|---|
| int | The major protocol version in use. |

getMaxRedirects(
)
:
intGet the maximum number of redirects to follow during HTTP operations
| Type | Description |
|---|---|
| int | Maximum number of redirects to follow |

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

getNextFeed(
\Zend_Gdata_App_Feed $feed, string $className
=
null
)
:
\Zend_Gdata_App_Feed|nullRetrieve next set of results based on a given feed.
| 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. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed|null | 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|nullRetrieve previous set of results based on a given feed.
| 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. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed|null | Returns a Zend_Gdata_App_Feed or null if no previous set of results exists. |

getStaticHttpClient(
)
:
\Zend_Http_ClientGets the HTTP client object. If none is set, a new Zend_Http_Client will be used.
| Type | Description |
|---|---|
| \Zend_Http_Client |

getVerboseExceptionMessages(
)
:
booleanGet whether to use verbose exception messages
In the case of HTTP errors, use the body of the HTTP response in the exception message.
| Type | Description |
|---|---|
| boolean |

import(
string $uri, \Zend_Http_Client $client
=
null, string $className
=
'Zend_Gdata_App_Feed'
)
:
string|\Zend_Gdata_App_FeedImports a feed located at $uri.
| 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 |
| 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. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

importFile(
string $filename, string $className
=
'Zend_Gdata_App_Feed', string $useIncludePath
=
false
)
:
\Zend_Gdata_App_FeedImports a feed from a file located at $filename.
| 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 |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

importString(
string $string, string $className
=
'Zend_Gdata_App_Feed', $majorProtocolVersion
=
null, $minorProtocolVersion
=
null
)
:
\Zend_Gdata_App_FeedImports a feed represented by $string.
| Name | Type | Description |
|---|---|---|
| $string | string | |
| $className | string | The class which is used as the return type |
| $majorProtocolVersion | ||
| $minorProtocolVersion |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

importUrl(
string $url, string $className
=
'Zend_Gdata_App_Feed', array $extraHeaders
=
array()
)
:
string|\Zend_Gdata_App_FeedImports the specified URL (non-statically).
| 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. |
| 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. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

insertEntry(
mixed $data, string $uri, string $className
=
'Zend_Gdata_App_Entry', array $extraHeaders
=
array()
)
:
\Zend_Gdata_App_EntryInserts an entry to a given URI and returns the response as a fully formed Entry.
| 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. |
| 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_ResponsePerforms a HTTP request using the specified method
| 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 |
| Type | Description |
|---|---|
| \Zend_Http_Response | The response object |

post(
mixed $data, string $uri
=
null, $remainingRedirects
=
null, string $contentType
=
null, array $extraHeaders
=
null
)
:
\Zend_Http_ResponsePOST data with client object
| 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. |
| Type | Description |
|---|---|
| \Zend_Http_Response |
| 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
)
:
arrayProvides pre-processing for HTTP requests to APP services.
| 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 |
| 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_ResponsePUT data with client object
| 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. |
| Type | Description |
|---|---|
| \Zend_Http_Response |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception | |
| \Zend_Gdata_App_HttpException | |
| \Zend_Gdata_App_InvalidArgumentException |

registerPackage(
string $name
)
:
voidAdds a Zend Framework package to the $_registeredPackages array.
This array is searched when using the magic __call method below to instantiante new objects.
| Name | Type | Description |
|---|---|---|
| $name | string | The name of the package (eg Zend_Gdata_App) |

retrieveAllEntriesForFeed(
object $feed
)
:
mixedRetrieve 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.
| Name | Type | Description |
|---|---|---|
| $feed | object | The feed to iterate through. |
| Type | Description |
|---|---|
| mixed | A new feed of the same type as the one originally passed in, containing all relevent entries. |

setGzipEnabled(
boolean $enabled
=
false
)
:
voidToggle requesting gzip encoded responses
| Name | Type | Description |
|---|---|---|
| $enabled | boolean | Whether or not to enable gzipped responses |

setHttpClient(
\Zend_Http_Client $client, $applicationId
=
'MyCompany-MyApp-1.0'
)
:
\Zend_Gdata_AppSet the Zend_Http_Client object used for communication
| Name | Type | Description |
|---|---|---|
| $client | \Zend_Http_Client | The client to use for communication |
| $applicationId |
| Type | Description |
|---|---|
| \Zend_Gdata_App | Provides a fluent interface |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_HttpException |

setHttpMethodOverride(
boolean $override
=
true
)
:
voidToggle 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.
| Name | Type | Description |
|---|---|---|
| $override | boolean | Whether to override PUT and DELETE with POST. |

setMajorProtocolVersion(
int $value
)
:
voidSet the major protocol version that should be used. Values < 1 will cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
| Name | Type | Description |
|---|---|---|
| $value | int | The major protocol version to use. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_InvalidArgumentException |

setMaxRedirects(
int $maxRedirects
)
:
voidSet the maximum number of redirects to follow during HTTP operations
| Name | Type | Description |
|---|---|---|
| $maxRedirects | int | Maximum number of redirects to follow |

setMinorProtocolVersion(
\(int|\NULL) $value
)
:
voidSet 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.
| Name | Type | Description |
|---|---|---|
| $value | \(int|\NULL) | The minor protocol version to use. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_InvalidArgumentException |

setStaticHttpClient(
\Zend_Http_Client $httpClient
)
:
voidSet the static HTTP client instance
Sets the static HTTP client object to use for retrieving the feed.
| Name | Type | Description |
|---|---|---|
| $httpClient | \Zend_Http_Client |

setVerboseExceptionMessages(
boolean $verbose
)
:
voidSet whether to use verbose exception messages
In the case of HTTP errors, use the body of the HTTP response in the exception message.
| 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_EntryUpdate an entry
| 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. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Entry | The entry returned from the server |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

useObjectMapping(
boolean $value
)
:
voidEnable/disable the use of XML to object mapping.
| Name | Type | Description |
|---|---|---|
| $value | boolean | Pass in true to use the XML to object mapping. Pass in false or null to disable it. |