Richtige PHP - HTML Strukturierung

  • Hallo Zusammen, ich habe da ein kleines Problem und ich hoffe mir kann da jemand weiterhelfen. Es geht um die richtige PHP / HTML Struktur in meinem Template.

    Und zwar muss ich aufgrund eines Verschachtelten Shortcodes (Tabreiter) den ich in meinem Template verwende meinen fertigen HTML Code (ca. 200 Zeilen) der bereits mehrere PHP Variablen enthält, in weitere 4 PHP variablen packen.

    Um jeweils ca. 50 Zeilen HTML Code in eine PHP Variable schreiben zu können, habe ich 2 verschiedene Lösungswege gefunden

    1. Lösung (Komisch weil $var nur ausgeben wird wenn genauso geschrieben)

    (php)

    $su_tabs_uebersicht = <<<END

    <div>Hersteller: $hersteller</div>

    <div>Gewicht: $gewicht</div>

    ...weitere 50 zeilen...

    END;

    php echo $su_tabs_uebersicht ;

    (php end)

    1. 2:Lösung

    (php)

    php ob_start();

    <div>Hersteller: php echo $hersteller; </div>

    <div>Gewicht: php echo $gewicht; </div>

    ...weitere 50 zeilen...

    php $su_tabs_uebersicht = ob_get_contents();

    php ob_end_clean();

    php echo $su_tabs_uebersicht ;

    (php end)

    Damit ich diese Verschachtelten Shortcodes verwenden kann muss ich also 90% des gesamten HTML Codes so in Variablen schreiben und dann ausgeben, mit dem 2ten Lösungweg 2 funktioniert das eigentlich auch.

    Nur sieht das im ganzen dann irgendwie nicht sehr übersichtlich aus, und da später noch weitaus komplexere Dinge wie nur Variablen hinzugefügt werden ist das keine wirklich gute Lösung..

    Wie würde es den jemand machen, der sich in dem Gebiet schon sehr gut auskennt?

    Wäre es besser auf die Shortcodes zu verzichten, und den gesamten HTML-Code nicht in PHP Variablen auszugeben. Oder ist es ok den HTML Code für einen ganzen Beitrag in unterschiedlichen PHP Variablen auszugeben.

    1. Ich sehe hier zwar nur einen Bruchteil des Code, aber für mich sieht das nach einer Missachtung des EVA-Prinzip aus.
    2. Templating beginnt da, wo man mit Variablen im HTML-Kontext den Content Fall bezogen aufbaut.
    3. Einfache Loops und Fallunterscheidungen im HTML-Kontext fördern die Flexibilität des Templating, bewegen sich aber auch schon an den Rand von EVA.

    Das Plugin sieht für mich, nach Deinem Post zu urteilen mies aus. Aber das ist keine fachliche Bewertung!