【问题标题】:Is it bad to include header and footer as a template?将页眉和页脚作为模板包含在内是不是很糟糕?
【发布时间】:2013-08-11 15:34:09
【问题描述】:

我想知道通过另一个页面包含诸如 etc 之类的标签是否正确。

我的意思是:

<?php include_once("header.php")?>
The content for each individual page
<?php include_once("footer.php")?>

Header.php 包含:

<!DOCTYPE html>
<head>
<title>My Website</title>
</head>
<body>

Footer.php 包含:

</body>
</html>

我之所以这样使用它,是因为当我有很多页面时,只更改一/两页会容易得多。这样我就有空闲时间了。

但问题是,为我的网站使用“模板”样式是否不好?

(我看到了一些类似的问题,但他们并没有真正回答我的问题,这就是我开始一个新话题的原因——如果错了,请见谅)

【问题讨论】:

  • 我见过这种模式,我忘了它叫什么。另一种模式是有一个带有页眉和页脚的布局文件,并将内容注入其中的占位符。
  • 我认为这是一个很好的做法。更好的代码可读性是更少的错误。此外,如果您需要更改页眉或页脚中的某些内容,如果您使用包含,您不会错过任何一页
  • 我已经做了 12 年以上的网络开发人员,这就是我做所有动态网站的方式。
  • 所以它不会减慢网站速度之类的吗?
  • 任何框架或 php 应用程序都使用相同的想法(包含文件),因此对于您的情况,它是正确的方法并继续这种风格以防止代码重复更容易维护。

标签: php html css


【解决方案1】:

我认为这没有问题 - 这肯定比跨多个页面复制相同的内容要好。 Don't Repeat Yourself 是编程的核心租户,这种方法在这方面有所帮助。与易于维护的优势相比,PHP 包含的性能影响绝对微乎其微,不值得担心。

你也许还能走得更远。你真的需要在每一页上重复包含吗?如果所有页面都有相同的页眉和页脚,那么您可以只制作一个包含它们的页面,并在中间创建一个动态内容区域(这是 ASP.NET 采用的方法)。

【讨论】:

  • 谢谢,不知道有这样的东西存在:P
【解决方案2】:

不,这很棒。实际上,您会发现越来越多的内容要移入包含的文件中,例如,您网站的侧边栏可能位于其自己的文件中。这正是 PHP 所做的,以便更轻松地维护您的网站。

【讨论】:

    【解决方案3】:

    任何 PHP 都会比 HTML 慢。例如,人们为 wordpress 网站使用缓存插件,因此只需要 HTML 并且 php 服务器不必那么辛苦,而且页面会更快。但是使用 PHP 的好处显然超过了 wordpress 的普及。

    所有的php调用都是一次,所以多次调用php不像多次调用css文件或JavaScript。

    随着网站的发展,您将乐于进行一项会影响所有页面的更改,而不必更改每个页面。一个简单的例子是标题中的季节性问候。简单的广告和带走您的模板。没有。那是在更明显的链接更改之前。

    【讨论】:

    • 感谢您的回答和解释;)
    【解决方案4】:

    这是一个很好的方向,只是不要重复自己。无论如何,要从这个模板思想中获得更多的稳健性,您可以尝试查看以下库:

    树枝:http://twig.sensiolabs.org
    聪明的:http://www.smarty.net

    【讨论】:

    • 谢谢,有时间我会试试 smarty ;)
    猜你喜欢
    • 2012-10-16
    • 2012-04-14
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多