我正在使用某个框架,其中主要开发人员正在考虑从原生的基于PHP的模板到XSLT模板的彻底改变。有没有人从PHP模板到XSLT模板而不后悔?
我担心这不可行,因为在我们的网站上我们通常会有非常复杂的模板逻辑。
对于如此简单的东西:
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 } ?>
等效XSLT是:
<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>
有了这样一个简单的代码片段,它让我害怕的时候我想的高级场景。
我想知道是否有人经历了类似的模板转换,如果是的话,你是如何应对的?你回去了吗?
不理解XSLT没有理由担心团队选择使用它。一个合理的行动项目是扩大自己的视野。不要害怕的好方法是开始学习 - 通过阅读和练习。有很好的学习资源,包括SO的“xslt”标签中的许多问题和答案。 – 2012-04-06 15:59:41
这对我来说不是问题,我只是担心这会导致我的团队中大多数人的生产水平下降(界面开发,从现在开始处理XSLT和模板逻辑,而不是后端开发人员),以及我们已经在紧张的最后期限内运行了。 – 2012-04-06 16:01:56
根据我的经验,使用XSLT处理XML比使用传统命令式语言要快几个数量级。质量更高,数量级更少的错误。你甚至可以用较少的开发人员完成相同的工作。 – 2012-04-06 16:22:49