2016-04-03 44 views
0

为了让我的代码更加封装并因此更易于阅读,我选择使用echo语句填充我的Web应用程序的网页中的冗余部分。例如,我的所有页面都具有相同的导航栏,页脚和页眉(大部分)。我已经实现了一种动态“注入”html片段的方式,就像jQuery可以做的那样。我的索引页的代码片段看起来是这样的:使用PHP的动态HTML

<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变量保持所有的片段。

有什么好处?有什么缺点?为了让我的代码更加简洁,我在这里忽略了一些概念吗?

+0

你在找什么/试图重塑是[PHP的模板](https://www.google.com.au/search?q=PHP+Templating) - 你应该阅读它,以及如何有效地做到这一点。 – Darren

+0

@Darren这正是我所需要的。谢谢。 – user5553362

回答

0

通常混合标记和PHP被认为是不好的做法,并使维护成为一场噩梦。此外,如果需要,则前端开发人员与您之间的工作分工将更加困难。考虑使用一种现成的,现成的模板引擎,而不是像嫩枝(等等),因为这可以让你实现你所想要更优雅做:

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

http://twig.sensiolabs.org/