8. Extensions - adwins/Arrayer GitHub Wiki
8. Extensions.
You can add some functions to Arrayer based on your needs.
How to create an extension for Arrayer on an example.
/** * For example, let's write an extension to render Arrayer object as XML */ class Arrayer_XML extends Arrayer { public function as_xml($tag = 'data', $ident = 0){ /** * Identation string, two spaces are one ident position */ $pad = str_repeat(' ', $ident * 2); /** * If there are an array of Arrayer objects, pass them thru */ if ($this->_vars){ /** * Open tag */ $result = $pad . '<' . $tag . '>' . PHP_EOL; foreach ($this->_vars as $key => $value){ /** * Collect values */ $result .= $value->as_xml($key, $ident + 1) . PHP_EOL; } /** * Close tag */ $result .= $pad . '</' . $tag . '>'; /** * Return XML without header */ return $result; } else { /** * Return single string variable */ return $pad . '<' . $tag . '>' . $this->_var . '</' . $tag . '>'; } } } /** * Now you can use extended class like original plus some more functionality */ $post = new Arrayer_XML; $post->clean(); file_put_contents('test.xml', '<?xml version="1" encoding="utf-8" ?>' . $post->as_xml());