Die Vorlagenmaschine für webbasierte Anwendungen

Webbasierte Anwendungen gewinnen mehr und mehr an Bedeutung. Es ist in vielen Bereichen einfach üblich, nicht mehr „nur schnöde“ Webseiten zu erstellen, sondern umfassende Anwendungen zu produzieren. Für Entwickler ist es dann vielleicht hilfreich, ein gutes Hilfsmittel bei der Hand zu haben. Und das möchte ich gern kurz vorstellen.

Es gibt ein Hilfsmittel namens Separate Template Engine. Damit kann man für PHP, der objektorientierten Skriptsprache zur Erstellung von dynamischen Webseiten, Vorlagen erstellen, die bei der Entwicklung von webbasierten Anwendungen behilflich sind. Bei dynamischen Webseiten wird ja die eigentliche Logik (die Verarbeitung von Datenbankinhalten z.B.) von der Darstellung (der HTML-Code) getrennt. Diese Art und Weise hat sich im Allgemeinen durchgesetzt. Und mit einer solchen Engine ist es dann eben einfach möglich, Quellcode gut zu strukturieren und sauber zu erstellen.

Eduard Sudnik hat hier eine Abhilfe geschaffen, damit man nicht ständig das Rad neu erfinden muss. Die Separate Template Engine ist fertig und bereit für den Markt. Wie die Engine funktioniert, ist in der Dokumentation dazu aufgeschrieben. Die Engine wird quasi in den Quelltext „eingeschoben“ und arbeitet separat zum sonstigen Code.

Für die Programmierer unter meinen Lesern habe ich hier ein Beispiel für die Implementierung von dynamischen Blöcken von Separate:

<?php 

require_once './SeparateTemplate.php';

$rootTemplate = SeparateTemplate::instance()->loadSourceFromFile('./index.htm');

for($row = 1; $row <= 3; $row++)
{
    //fetch row block from root template
    $rowBlock = $rootTemplate->fetch('row');

    for($column = 1; $column <= 3; $column++)
    {
        //fetch column block from row block
        $columnBlock = $rowBlock->fetch('column');

        $columnBlock->assign('ROW_NUMBER', $row);
        $columnBlock->assign('COLUMN_NUMBER', $column);

        //assign modified column block back to row block
        $rowBlock->assign('column', $columnBlock);
    }

    //assign modified row block back to root template 
    $rootTemplate->assign('row', $rowBlock);
}

$rootTemplate->display();

?>

Und der zugehörige HTML-Code ist dann der folgende:

<html>
    <body>
        <table> 
            <!-- BEGIN row -->
                <tr>
                    <!-- BEGIN column -->
                        <td>Row: ${ROW_NUMBER} Column: ${COLUMN_NUMBER}</td>
                    <!-- END column -->
                </tr>
            <!-- END row -->
        </table>
    </body>
</html>

Ich denke, für viele Entwickler ist es so einfacher, webbasierte Anwendungen zu erstellen. Möglicherweise ist es ja einen Versuch wert. Herunterladen kann man die Separate Template Engine dann hier auf der Seite.

Gibt es denn Erfahrungswerte zur Engine? Hat die bereits jemand getestet? Gern können Sie unten in den Kommentaren Ihre Eindrücke schildern. Was ist von der PHP Template Engine zu halten?

Was Sie auch interessieren könnte:

Schreibe einen Kommentar

Mit dem Nutzen des Kommentarbereiches erklären Sie sich mit der Datenschutzerklärung einverstanden.