1unitedpower: Projektvorstellung: Teein/Html eine Virtual DOM basierte Templating Engine für PHP 7.1

Beitrag lesen

problematische Seite

Ich würde etwas wie

table(class_('month'))(
    caption()(text('October 2017')),
    colgroup()(
        col(class_('week"')),
#[]

durchaus als zusätzliche Sprache ansehen, denn es hat eigene Begriffe und eine eigene "Grammatik". Ist sowas wie "Russisch mit deutscher Grammatik".

So kann man es definitiv auch betrachten, das hier ist HTML mit PHP-Grammatik.

Problematisch wird die Verwendung wohl dann, wenn ein HTML-Tag verwendet werden soll, welcher in der "Engine" nicht vorgesehen ist.

Momentan werden alle HTML-Elemente und -Attribute aus dem Living HTML Standard unterstützt. Custom-Elemente muss man sich selber stricken (hier muss ich aber noch die Dokumentation ausbauen):

function youtubePlayer(Attribute ...$attributes) : callable
{
    return function (Node ...$elements) use ($attributes) : NormalElement {
        return new NormalElement(
            'youtube-player',
            $attributes,
            $elements
        );
    };
}

Mir selbst fehlt auch irgendwie ein "use case" welcher den Lernaufwand und das Vertrauen begründen könnte.

Völlig in Ordnung. Teein/Html ist nicht für jeden, es ist eine sehr passionierte Engine für Leute, die gerne funktional programmieren, hohen Wert auf Typsicherheit und Testbarkeit legen und die vielleicht schon Vorerfahrung mit React oder XHP gesammelt haben, und etwas vergleichbares für PHP suchen. Was das Vertrauen anbelangt: Teein/Html ist ein FOSS-Projekt, du kannst dich also gerne selber von der Code-Qualität überzeugen. Außerdem ist der CI-Service Scrutinizer im Einsatz und analysiert das Projekt am laufenden Band nach Bugs, Sicherheitslücken, Code-Smells usw. Und schließlich gibt es eine sehr ausführliche Test-Suite (aktuell etwas mehr als 300 Checks), die die Code-Basis auf Herz und Nieren überprüft.