API Documentation

Zend/Gdata/App/Base.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_Gdata  
Subpackage
App  
Version
$Id: Base.php 24593 2012-01-05 20:35:02Z matthew $  

\Zend_Gdata_App_Base

Package: Zend\Gdata\App

Abstract class for all XML elements

Children
\Zend_Gdata_App_Extension
\Zend_Gdata_App_FeedEntryParent
\Zend_Gdata_Gapps_Error
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

Propertyprotectedarray  $_extensionAttributes= 'array()'

Leftover attributes which were not handled
Default valuearray()Details
Type
array
Propertyprotectedarray  $_extensionElements= 'array()'

Leftover elements which were not handled
Default valuearray()Details
Type
array
Propertyprotectedarray  $_namespaceLookupCache= 'array()'
static

Memoized results from calls to lookupNamespace() to avoid expensive calls to getGreatestBoundedValue(). The key is in the form 'prefix-majorVersion-minorVersion', and the value is the output from getGreatestBoundedValue().
Default valuearray()Details
Type
array
Propertyprotectedarray  $_namespaces= 'array( 'atom' => array( 1 => array( 0 => 'http://www.w3.org/2005/Atom' ) )'

List of namespaces, as a three-dimensional array. The first dimension represents the namespace prefix, the second dimension represents the minimum major protocol version, and the third dimension is the minimum minor protocol version. Null keys are NOT allowed.

When looking up a namespace for a given prefix, the greatest version number (both major and minor) which is less than the effective version should be used.

Default valuearray( 'atom' => array( 1 => array( 0 => 'http://www.w3.org/2005/Atom' ) )Details
Type
array
See
\lookupNamespace()  
See
\registerNamespace()  
See
\registerAllNamespaces()  
Propertyprotectedstring  $_rootElement= 'null'

The XML element name, including prefix if desired
Default valuenullDetails
Type
string
Propertyprotectedstring  $_rootNamespace= ''atom''

The XML namespace prefix
Default value'atom'Details
Type
string
Propertyprotectedstring  $_rootNamespaceURI= 'null'

The XML namespace URI - takes precedence over lookup up the corresponding URI for $_rootNamespace
Default valuenullDetails
Type
string
Propertyprotectedstring  $_text= 'null'

XML child text node content
Default valuenullDetails
Type
string

Methods

methodpublic__construct( ) : void

methodpublic__get( string $name ) : void

Magic getter to allow access like $entry->foo to call $entry->getFoo() Alternatively, if no getFoo() is defined, but a $_foo protected variable is defined, this is returned.

TODO Remove ability to bypass getFoo() methods??

Parameters
Name Type Description
$name string

The variable name sought

methodpublic__isset( string $name ) : void

Magic __isset method

Parameters
Name Type Description
$name string
methodpublic__set( string $name,  $val ) : void

Magic setter to allow acces like $entry->foo='bar' to call $entry->setFoo('bar') automatically.

Alternatively, if no setFoo() is defined, but a $_foo protected variable is defined, this is returned.

TODO Remove ability to bypass getFoo() methods??

Parameters
Name Type Description
$name string
$val
methodpublic__toString( ) : string

Magic toString method allows using this directly via echo Works best in PHP >= 4.2.0

Returns
Type Description
string The text representation of this object
methodpublic__unset( string $name ) : void

Magic __unset method

Parameters
Name Type Description
$name string
methodpublicencode( ) : string

Alias for saveXML()

Can be overridden by children to provide more complex representations of entries.

Returns
Type Description
string Encoded string content
methodpublicflushNamespaceLookupCache( ) : void
static

Flush namespace lookup cache.

Empties the namespace lookup cache. Call this function if you have added data to the namespace lookup table that contradicts values that may have been cached during a previous call to lookupNamespace().

methodpublicgetDOM( \DOMDocument $doc = null,  $majorVersion = 1,  $minorVersion = null ) : \DOMElement

Retrieves a DOMElement which corresponds to this element and all child properties. This is used to build an entry back into a DOM and eventually XML text for sending to the server upon updates, or for application storage/persistence.

Parameters
Name Type Description
$doc \DOMDocument

The DOMDocument used to construct DOMElements

$majorVersion
$minorVersion
Returns
Type Description
\DOMElement The DOMElement representing this element and all child properties.
methodpublicgetExtensionAttributes( ) : array

Returns an array of all extension attributes not transformed into data model properties during parsing of the XML. Each element of the array is a hashed array of the format: array('namespaceUri' => string, 'name' => string, 'value' => string);

Returns
Type Description
array All extension attributes
methodpublicgetExtensionElements( ) : array

Returns an array of all elements not matched to data model classes during the parsing of the XML

Returns
Type Description
array All elements not matched to data model classes during parsing
methodpublicgetText(  $trim = true ) : string

Returns the child text node of this element This represents any raw text contained within the XML element

Parameters
Name Type Description
$trim
Returns
Type Description
string Child text node
methodpublicgetXML( ) : string

Alias for saveXML() returns XML content for this element and all children

Returns
Type Description
string XML content
methodpubliclookupNamespace( string $prefix, integer $majorVersion = 1, integer $minorVersion = null ) : string

Get the full version of a namespace prefix

Looks up a prefix (atom:, etc.) in the list of registered namespaces and returns the full namespace URI if available. Returns the prefix, unmodified, if it's not registered.

Parameters
Name Type Description
$prefix string

The namespace prefix to lookup.

$majorVersion integer

The major protocol version in effect. Defaults to '1'.

$minorVersion integer

The minor protocol version in effect. Defaults to null (use latest).

Returns
Type Description
string
methodpublicregisterAllNamespaces( array $namespaceArray ) : void

Add an array of namespaces to the registered list.

Takes an array in the format of: namespace prefix, namespace URI, major protocol version, minor protocol version and adds them with calls to ->registerNamespace()

Parameters
Name Type Description
$namespaceArray array

An array of namespaces.

methodpublicregisterNamespace( string $prefix, string $namespaceUri, integer $majorVersion = 1, integer $minorVersion = 0 ) : void

Add a namespace and prefix to the registered list

Takes a prefix and a full namespace URI and adds them to the list of registered namespaces for use by $this->lookupNamespace().

WARNING: Currently, registering a namespace will NOT invalidate any memoized data stored in $_namespaceLookupCache. Under normal use, this behavior is acceptable. If you are adding contradictory data to the namespace lookup table, you must call flushNamespaceLookupCache().

Parameters
Name Type Description
$prefix string

The namespace prefix

$namespaceUri string

The full namespace URI

$majorVersion integer

The major protocol version in effect. Defaults to '1'.

$minorVersion integer

The minor protocol version in effect. Defaults to null (use latest).

methodpublicsaveXML( ) : string

Converts this element and all children into XML text using getDOM()

Returns
Type Description
string XML content
methodpublicsetExtensionAttributes( array $value ) : \Zend_Gdata_App_Base

Sets an array of all extension attributes not transformed into data model properties during parsing of the XML. Each element of the array is a hashed array of the format: array('namespaceUri' => string, 'name' => string, 'value' => string); This can be used to add arbitrary attributes to any data model element

Parameters
Name Type Description
$value array

All extension attributes

Returns
Type Description
\Zend_Gdata_App_Base Returns an object of the same type as 'this' to provide a fluent interface.
methodpublicsetExtensionElements( array $value ) : \Zend_Gdata_App_Base

Sets an array of all elements not matched to data model classes during the parsing of the XML. This method can be used to add arbitrary child XML elements to any data model class.

Parameters
Name Type Description
$value array

All extension elements

Returns
Type Description
\Zend_Gdata_App_Base Returns an object of the same type as 'this' to provide a fluent interface.
methodpublicsetText( string $value ) : \Zend_Gdata_App_Base

Sets the child text node of this element This represents any raw text contained within the XML element

Parameters
Name Type Description
$value string

Child text node

Returns
Type Description
\Zend_Gdata_App_Base Returns an object of the same type as 'this' to provide a fluent interface.
methodprotectedtakeAttributeFromDOM( \DOMNode $attribute ) : void

Given a DOMNode representing an attribute, tries to map the data into instance members. If no mapping is defined, the name and value are stored in an array.

Parameters
Name Type Description
$attribute \DOMNode

The DOMNode attribute needed to be handled

methodprotectedtakeChildFromDOM( \DOMNode $child ) : void

Given a child DOMNode, tries to determine how to map the data into object instance members. If no mapping is defined, Extension_Element objects are created and stored in an array.

Parameters
Name Type Description
$child \DOMNode

The DOMNode needed to be handled

methodpublictransferFromDOM( \DOMNode $node ) : void

Transfers each child and attribute into member variables.

This is called when XML is received over the wire and the data model needs to be built to represent this XML.

Parameters
Name Type Description
$node \DOMNode

The DOMNode that represents this object's data

methodpublictransferFromXML( string $xml ) : void

Parses the provided XML text and generates data model classes for each know element by turning the XML text into a DOM tree and calling transferFromDOM($element). The first data model element with the same name as $this->_rootElement is used and the child elements are recursively parsed.

Parameters
Name Type Description
$xml string

The XML text to parse

Documentation was generated by DocBlox 0.15.1.