为什么模板包含如此多的PHP标记对?

时间:2015-11-12 作者:Chris

我有一些PHP的经验,但几乎没有任何WP主题的写作经验。。。我才刚刚开始旅程。

到目前为止,我在中看到的所有主题。组织存储库的代码如下所示:

<?php if (condition) { ?>
..some html
<?php } else { ?>
..some other html
<?php } ?>
而不是:

<?php
if (condition) {
  echo ..some html
}
else {
  echo ..some other html
}
?>
我可以看出,当使用记事本++这样的编辑器时,我们宁愿让html“裸体”,而不是在echo语句中,以使编辑器能够对代码进行着色,并将html标记与其结束标记进行匹配,等等。

但我看到很多模板都有大量的PHP代码和很少的HTML,而且它们仍然在每行代码周围包装PHP标记。对我来说,这很难阅读。

这是否有技术原因,或者只是开发人员的偏好?

2 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

像往常一样,人们从中学到什么就复制粘贴什么,IIRC第一种风格是wordpress核心的编码风格。

正如您自己所说,当有一大块生成的HTML时,在第一种样式下查看(并平衡标记)会更容易,但务实的人会在不这样的情况下使用第二种样式。

这实际上只是编码风格偏好,背后没有任何技术。

SO网友:Lightness Races in Orbit

尽管您可能会争辩说,当您更频繁地进入和退出PHP模式时,代码更难阅读,但在PHP中混合输出样式也是一种很好的、广泛推荐的做法。

也就是说,要么从HTML模式输出HTML,要么从echo 报表(&hellip);但你不能混搭风格。这将造成维护噩梦。

您正在阅读的模板的作者正在遵循这一最佳实践。

然而,归根结底,是的,这只是一个风格/管理问题:语言中没有任何东西天生需要它。

明智的模板系统根本不允许内联PHP,而只允许对HTML标记进行声明性扩展,但这是另一回事&hellip;

相关推荐

如何在WordPress unctions.php中将短代码值传递到Head

我正在尝试为wordpress帖子上的图表创建一个快捷代码。到目前为止,我已经使用了短代码,我可以看到短代码值正在被传递,但我需要知道的是如何将这些值传递到Google图表,以便正确工作。以下是我目前掌握的代码:function chart_shortcode($atts) { $a = shortcode_atts( array( \'value1\' => \'\', \'value2\' => \'\', \'value