Es gibt ein bestimmtes Framework, das ich benutze, in dem die Hauptentwickler erwägen, sich drastisch von nativen PHP basierten Templating zu XSLT Templating zu ändern.Hat jemand von PHP Templating zu XSLT Templating ging und es nicht bereut?
Ich bin besorgt, dass dies nicht machbar sein wird, weil wir auf unseren Sites normalerweise sehr komplexe Templating-Logik haben.
Für etwas so einfaches wie folgt aus:
if ($something) { ?>
<p><?php if ($another) { ?>Lorem Ipsum<?php } else { ?>Dolor amet<?php } ?>.</p>
<?php } else { ?>
<p><?php if ($another) { ?>Lorem Ipsum<?php } else { ?>Dolor amet<?php } ?>.</p>
<?php } ?>
Die äquivalente XSLT wäre:
<xsl:choose>
<xsl:when test="blah">
<xsl:choose>
<xsl:when test="another">
<p>Lorem Ipsum.</p>
</xsl:when>
<xsl:otherwise>
<p>Dolor amet.</p>
</xsl:otherwise>
</xsl:when>
<xsl:otherwise>
<xsl:when test="another">
<p>Lorem Ipsum.</p>
</xsl:when>
<xsl:otherwise>
<p>Dolor amet.</p>
</xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
Mit solchen einfachen Code-Schnipsel, es macht mir Angst, wenn ich von fortgeschrittenen Szenarien denken.
Ich frage mich, ob jemand eine ähnliche Templating-Konvertierung durchlaufen hat und wenn ja, wie sind Sie damit umgegangen? Bist du zurückgegangen?
Nicht zu verstehen XSLT ist kein Grund zur Sorge, dass ein Team sich dafür entschieden hat. Ein sinnvoller Handlungspunkt ist es, den Horizont zu erweitern. Ein guter Weg, nicht mehr Angst zu haben, ist, mit dem Lernen zu beginnen - durch Lesen und Üben. Es gibt gute Lernressourcen, einschließlich vieler Fragen und Antworten in SOs "xslt" -Tag. –
Das ist kein Problem für mich, ich mache mir nur Sorgen, dass dies für den größten Teil meines Teams zu einer Verlangsamung der Produktion führen wird (Interface-Entwicklung, die ab sofort mit XSLT und Template-Logik statt Backend-Entwickler arbeiten wird), und Wir laufen mit engen Terminen, wie es schon ist. –
Nach meiner Erfahrung ist die Verarbeitung von XML mit XSLT um Größenordnungen schneller als mit herkömmlichen imperativen Sprachen. Die Qualität ist viel höher mit Größenordnungen weniger Bugs. Sie könnten sogar die gleiche Arbeit mit weniger Entwicklern machen. –