以下两段代码之间有什么区别? B版似乎更难以阅读,过度使用开放和结束标签,但我发现很多使用这种格式的教程和示例。是否有一种首选方法,这意味着一方面的程序原因,或者这是个人偏好?
版本A(附在php中)
<?php
$test = array('a','b','c');
if (isset($test))
{
echo '<div id="testmessage">
<h2>
Test Message Below
</h2>
<ul>';
foreach ($test as $t)
{
echo '<li>'.$t.'</li>';
}
echo '</ul>';
echo '</div>';
}
?>
版本B(多个打开和关闭标签)
<?php $test = array('a','b','c');
if (isset($test)){
?>
<div id="testmessage">
<h2>
Test Message Below
</h2>
<ul>
<?php
foreach ($test as $t)
{
?>
<li><?php echo $t; ?></li>
<?php
}
?>
</ul>
</div>
<?php
}
?>
答案 0 :(得分:0)
没有真正的区别,但不鼓励。
我给你的版本C可能比B读得好一点:
<?php
$test = array('a','b','c');
if (isset($test)): ?>
<div id="testmessage">
<h2>
Test Message Below
</h2>
<ul>
<?php foreach ($test as $t): ?>
<li><?php echo $t; ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
答案 1 :(得分:0)
这真的只是一种风格,但我更喜欢将B与模板引擎结合使用。
答案 2 :(得分:0)
虽然您可能认为B更难阅读,但实际上更容易维护。你所拥有的东西可以被宽泛地描述为模板。
当您开始在PHP中嵌入类似于A的HTML时,如果您稍后需要更改页面外观会发生什么?或者当您想要更改页面布局时会发生什么?
通过将CSS,javascipt / jquery等技术与您的html相结合,管理您的网站页眉,页脚和主要内容块变得更加井井有条。
我认为你会发现使用模板会让你的生活变得更轻松。在你离开之前认为你需要自己包装一个,有many template engines to choose from。
答案 3 :(得分:-1)
没有,除了PHP用于存储这些HTML字符串的内存。通过不在PHP脚本中包含HTML,您最终会减少PHP解析器的大小(和压力),因为它读取的PHP脚本最终会变小。
版本B更好,但只是略微。在大多数情况下,您不会注意到差异。
答案 4 :(得分:-1)
没有实际区别 - 只是风格问题。
您可能更喜欢第二种方式,因为您不需要在HTML中转义引号等。