Hier mal ein Beispiel was Du auch auf Deine Tabellenklasse anwenden kannst:
# Klasse zum Erstellen einer sitemap.xml /urlset
class Sitemap{
function __construct($opts){
$opts = array_merge( array(
'proto' => '',
'domain' => '',
'version' => '1.0',
'encoding' => 'UTF-8',
'xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9'
), $opts);
$this->OPTS = $opts;
$this->URLSET = array();
$this->BUFFER = '';
}
function add($url){
$this->URLSET[] = $url;
}
function out(){
$this->BUFFER = sprintf("<?xml version='%s' encoding='%s'>\n", $this->OPTS['version'], $this->OPTS['encoding']);
$this->BUFFER .= sprintf("\t<urlset xmlns='%s'>\n", $this->OPTS['xmlns']);
$this->urlset();
$this->BUFFER .= "\t</urlset>";
return $this->BUFFER;
}
function urlset(){
foreach( $this->URLSET as $url ){
$this->BUFFER .= sprintf("\t\t<url><loc>%s</loc></url>\n", $url);
}
}
}
$s = new Sitemap( array(
'proto' => 'https',
'domain' => 'example.org'
));
$s->add('/index.html');
$s->add('/foo.html');
$s->add('/find');
echo $s->out();
Damit ist es einfach, weitere XML-Elemente einzubauen. OOP lebt von der Vielgestaltigkeit und umgekehrt.
MFG