[DOM] return appendChild() in function

baeri

Erfahrenes Mitglied
Hallo Liebe Leut,

ich bastle gerade etwas mit DOM objekten und so rum...
Gerade gibt es kein extrem spezifisches Projekt aber ich möchte die "Mechanik" verstehen und vor allem daraus lernen :)

so etwa geht ein einfaches DIV includiert mit etwas TEXT

PHP:
$element = new DOMDocument( "1.0", "utf-8" );

$dom = $element->createElement( "div" );
$element->appendChild( $dom );

$text = $element->createTextNode( "test" );
$dom->appendChild( $text );

echo $element->saveHTML();

soweit so gut... aber ich will das ja in eine Funktion bauen, verarbeiten und schön zurück geben...

also:
PHP:
function createElem() {
    $element = new DOMDocument( "1.0", "utf-8" );
   
    return $element;
}

function createDom( $tag ) {
   
    $element = createElem();
   
    return appendChild( $element->createElement( $tag ) );
}


function createTxt( $txt ) {
   
    $element = createElem();
   
    return appendChild( $element->createTextNode( $txt ) );

   
}

echo createElem()->createDom( "div" )->createTxt( "das ist ein text" )->saveHTML();

ich weiß, hier sind auch logikfehler drinnen... aber es beschreibt gut was ich "tun will"...

evtl. kann mir jemand helfen!

das "return appendChild" ist glaub ich das Hausproblem... wenn ich nur das "element" returne und dann extern echo createElem()->appendChild( createTxt( "test" ) ) ... dann geht das (aber dann erzeug ich auch wieder doppelt und dreifachen code)...

evtl. kann mir jemand erklären wie ich hier schöne funktionen aufbaue, sodass ich am ende nur noch sage:

hierein( "div" )->drinnen( "text" )....

vielen Dank für die Blumen :)
 
Zurück