在PHP中包含和不包含HTML之间的区别是什么?

时间:2012-02-07 20:55:24

标签: php html syntax

以下两段代码之间有什么区别? 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 
} 
?>

5 个答案:

答案 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)

  • 看起来像是结合PHP和HTML的标准黑客风格
  • B看起来像是本机PHP模板引擎的模板(例如Zend View)

这真的只是一种风格,但我更喜欢将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中转义引号等。