如何不将表现与逻辑混合?

And*_*rew 6 php

我使用PHP相当多,每当我在某个论坛上看到"PHP-hate"主题,甚至在这里与PHP相关的讨论时,我通常会看到以下内容:

PHP太杂乱/邋/ /糟糕,因为你有一个纠结的演示和逻辑网络.

然后我看到PHP-Defenders回复上述某些版本的说法并不一定正确.我开始思考"这怎么可能......?" 和"什么算是混合演示与逻辑?" 我无法理解,所以现在我在这里.

以下哪项是最佳做法?还是有一种我不知道的更好的方法?

<?php
    if(!function()) {
        echo '<div id="results">The result is a lie.</div>';
        }
?>
Run Code Online (Sandbox Code Playgroud)

要么

<div id="results">
    <?php
        if(!function()) {
            echo 'The result is a lie.';
            }
    ?>
</div>
Run Code Online (Sandbox Code Playgroud)

我知道上面的例子看起来并不是什么大不了的事,但在浏览了我的网络应用程序之后,我意识到它有点混乱(因为我混合了HTML和PHP),所以我希望有一个好的在保持良好和整洁的同时发展的方式.

Nan*_*nne 11

也许你想看看模板引擎,比如聪明.这可以为你分开.

链接:http://www.smarty.net/

一些(希望是平衡的)增加看到下面相当大的评论部分:

似乎有很多关于聪明的讨论.据我所知,这里有两个额外的营地,

一说:模板引擎,好吧,但聪明不是最好的; 使用(在此处插入您的选择).例如:twig或dwoo.

另一个人说:不要使用单独的模板引擎!因为PHP完全有能力做到这一点.评论中的例子包括:

使用Zend_View和Savant

  • Smarty死了. (4认同)
  • PHP是最好的模板引擎本身 (3认同)