1 <sect1 id="zend.feed.custom-feed">
2 <title>Aangepaste Feed en Entry klassen</title>
5 Naast dit alles is het ook mogelijk om de <code>Zend_Feed</code> klassen uit te breiden wanneer je een eigen formaat of extra's wil aanbieden, zoals automatisch afhandelen van elementen in een aangepaste namespace.
9 Hier is een voorbeeld van een aangepaste Atom entry klasse die zijn eigen <code>myns:</code>
10 namespace behandeld. Merk op dat het ook de oproep <code>registerNamespace()</code> voor je
11 afhandelt, zodanig dat de eindgebruiker zich helemaal niet met namespaces hoeft bezig te houden.
15 <title>De Atom Entry Class uitbreiden met aangepaste Namespaces</title>
16 <programlisting role="php"><![CDATA[
20 * De aangepaste entry klasse kent automatisch de feed URI (optioneel) en
21 * kan automatisch extra namespaces toevoegen.
23 class MyEntry extends Zend_Feed_Entry_Atom
26 public function __construct($uri = 'http://www.example.com/myfeed/',
29 parent::__construct($uri, $xml);
31 Zend_Feed::registerNamespace('myns', 'http://www.example.com/myns/1.0');
34 public function __get($var)
38 // Vertaal myUpdated naar myns:updated.
39 return parent::__get('myns:updated');
42 return parent::__get($var);
46 public function __set($var, $value)
50 // Vertaal myUpdated naar myns:updated.
51 parent::__set('myns:updated', $value);
55 parent::__set($var, $value);
61 ?>]]> </programlisting>
63 Om deze klasse nu te gebruiken moet je ze gewoon direct instantiƫren en de <code>myUpdated</code>
66 <programlisting role="php"><![CDATA[
69 $entry = new MyEntry();
70 $entry->myUpdated = '2005-04-19T15:30';
72 ?>]]> </programlisting>