public function testExtensionAttributes() { $extensionAttributes = $this->category->extensionAttributes; $extensionAttributes['foo1'] = array('name' => 'foo1', 'value' => 'bar'); $extensionAttributes['foo2'] = array('name' => 'foo2', 'value' => 'rab'); $this->category->extensionAttributes = $extensionAttributes; $this->assertEquals('bar', $this->category->extensionAttributes['foo1']['value']); $this->assertEquals('rab', $this->category->extensionAttributes['foo2']['value']); $categoryXml = $this->category->saveXML(); $newCategory = new Extension\Category(); $newCategory->transferFromXML($categoryXml); $this->assertEquals('bar', $newCategory->extensionAttributes['foo1']['value']); $this->assertEquals('rab', $newCategory->extensionAttributes['foo2']['value']); }
/** * Constructor for ZendGData\Books\Extension\BooksCategory which * Describes a books category * * @param string|null $term An identifier representing the category within * the categorization scheme. * @param string|null $scheme A string containing a URI identifying the * categorization scheme. * @param string|null $label A human-readable label for display in * end-user applications. */ public function __construct($term = null, $scheme = null, $label = null) { $this->registerAllNamespaces(\ZendGData\Books::$namespaces); parent::__construct($term, $scheme, $label); }
protected function takeChildFromDOM($child) { $absoluteNodeName = $child->namespaceURI . ':' . $child->localName; switch ($absoluteNodeName) { case $this->lookupNamespace('atom') . ':' . 'author': $author = new Extension\Author(); $author->transferFromDOM($child); $this->_author[] = $author; break; case $this->lookupNamespace('atom') . ':' . 'category': $category = new Extension\Category(); $category->transferFromDOM($child); $this->_category[] = $category; break; case $this->lookupNamespace('atom') . ':' . 'contributor': $contributor = new Extension\Contributor(); $contributor->transferFromDOM($child); $this->_contributor[] = $contributor; break; case $this->lookupNamespace('atom') . ':' . 'id': $id = new Extension\Id(); $id->transferFromDOM($child); $this->_id = $id; break; case $this->lookupNamespace('atom') . ':' . 'link': $link = new Extension\Link(); $link->transferFromDOM($child); $this->_link[] = $link; break; case $this->lookupNamespace('atom') . ':' . 'rights': $rights = new Extension\Rights(); $rights->transferFromDOM($child); $this->_rights = $rights; break; case $this->lookupNamespace('atom') . ':' . 'title': $title = new Extension\Title(); $title->transferFromDOM($child); $this->_title = $title; break; case $this->lookupNamespace('atom') . ':' . 'updated': $updated = new Extension\Updated(); $updated->transferFromDOM($child); $this->_updated = $updated; break; default: parent::takeChildFromDOM($child); break; } }