使用PHP的动态HTML


Dynamic HTML using PHP

为了使我的代码更加封装,从而更容易阅读,我选择使用echo语句来填充web应用程序网页中的冗余部分。例如,我的所有页面都有相同的导航栏、页脚和页眉(大部分)。我已经实现了一种动态"注入"html片段的方法,很像jQuery

<html lang="en">
<?php
    // START Head.
    echo "<head>";
        // Inject Head here.
        echo $page_content['head'];
    echo "</head>";
    // END Head.
    // START Body.
    echo "<body>";
        // Inject Navbar here.
        echo $page_content['navbar'];
        // START Div{.container}.
        echo "<div class='"container'">";
            // Inject Search Bar here.
            echo $page_content['searchbar'];
            // Inject Footer content here.
            echo $page_content['footer'];
        echo "</div>";
        // END Div{.container}.
    echo "</body>";
    // END Body.
?>

$page_content变量保存所有片段。

有什么好处?缺点是什么?为了使代码更加简洁,我是否忽略了一些概念?

通常,将标记和PHP混合在一起被认为是一种糟糕的做法,并使维护成为一场噩梦。此外,如果需要,前端开发人员和您之间的工作分配会更加困难。考虑使用现成的模板引擎,而不是像Twig(以及其他),因为这可以让你实现你想要做的更优雅的事情:

<head>
  {{ $page_content['head'] }}
</head>

http://twig.sensiolabs.org/