【发布时间】:2012-04-19 10:24:31
【问题描述】:
我正在使用某个框架,主要开发人员正在考虑从基于原生 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>
这么简单的代码sn-p,一想到高级场景就吓到我了。
我想知道是否有人经历过类似的模板转换,如果是,您是如何应对的?你回去了吗?
【问题讨论】:
-
不理解 XSLT 不必担心团队选择使用它。一个合理的行动项目是扩大自己的视野。停止害怕的一个好方法是开始学习——通过阅读和练习。有很好的学习资源,包括SO的“xslt”标签中的很多问题和答案。
-
这对我来说不是问题,我只是担心这会导致我的大多数团队的生产水平下降(接口开发,从现在开始将处理 XSLT 和模板逻辑,而不是后端开发人员),而且我们已经在紧迫的期限内运行。
-
根据我的经验,使用 XSLT 处理 XML 比使用传统命令式语言快几个数量级。质量要高得多,错误少了几个数量级。您甚至可以用更少的开发人员完成同样的工作。
标签: php xslt templating