【问题标题】:Is it good practice to add a php include of the head section in my pages?在我的页面中添加 head 部分的 php 包含是一种好习惯吗?
【发布时间】:2012-10-06 15:37:14
【问题描述】:

我正在创建我的投资组合网站,我希望将 head 部分作为 php 包含在我的页面上。原因是该网站将有相当多的页面,我希望稍后对诸如整理 css 文件之类的事情进行更改。

例如;

<head>
    <?php include('head.php'); ?>
</head>

而不是在每个页面上显示以下所有内容:

    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">

    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/main.css">
    <link rel="stylesheet" href="css/1140.css">
    <link rel="stylesheet" href="css/ie.css">
    <script src="js/vendor/modernizr-2.6.1.min.js"></script>
</head>

我只是不知道这是否是一种好的做法,因为这是我的投资组合网站,我需要从一开始就正确的代码,因为他们可能也会研究它的标准。

您对人们有什么意见和建议?谢谢。

【问题讨论】:

  • 使用 PHP 进行模板是一种非常普遍的做法。对页脚执行相同操作。很多人一开始就将所有内容放入每个静态页面。下一个进展是意识到效率低下并将其替换为包含文件(您现在所在的位置)。在此之后,您的下一步可能是转向某种内容管理系统。
  • 我的意思是,这行得通。但如果您为每个文件都这样做,则不会。你应该看看模板。
  • 在单独的脚本中提供可重用和可修改的部分始终是一种很好的做法。您甚至可以通过巧妙的配置/结构在多个网站中使用其中的一些。

标签: php html web-standards


【解决方案1】:

是的,这很标准。但不是写:

<head>
    <?php include('head.php'); ?>
</head>

您应该将标签放在head.php 中。我说这更好,因为head.php 里面的东西没有头部标签就没有意义,所以它们有点联系在一起。将如此链接的内容合并到一个文件中是一种很好的做法,而不必为每个页面重复打开和关闭 head 标记。

实际上,拥有header.phpbody.phpfooter.php 文件甚至是一种很好的做法(并且常用):

header.php

<html>
<head>
...
</head>
<body>

body.php

...

footer.php

</body>
</html>

【讨论】:

  • 感谢杰弗里,这是一个很好的观点。我将在文件中包含标签。
  • 但是如果你把所有的head都放在外部文件中,你将不得不把页面的标题和描述放在每个页面中。我错过了什么吗?
  • @Nrc,只需在header.php 中有一个$title 变量,并在每页更改它。
  • 这是个好主意。你能告诉我 index.php(我们包含这些文件的地方)是什么样的吗?
【解决方案2】:

我正在我的应用程序中这样做,但我发现这不是一个好主意,因为您的许多样式表、javascript 等都在一个 php 文件中,包括 head 部分,并且您会遇到包含问题它在嵌套文件夹中的 php 文件中。这个问题是因为相对路径。 如果您可以使用绝对路径,那没关系,否则这不是一个好主意...

【讨论】:

  • 我认为有一种方法可以解决这个问题, 它似乎对我有用。但是,这样做可能会出现我不知道的问题?
  • 包含head.php或css文件并没有回到根目录,它只是相对于当前脚本位置。 (我说的是windows,不确定linux环境)这种方法可以在小型应用程序中使用,但对于大型应用程序不是一个好主意。正如 bigman 所说,模板和 MVC 似乎适合大型应用程序
【解决方案3】:

PHP 包含一直都是这样使用的。每当您的内容在每个页面上都完全相同时,使用包含非常有帮助

【讨论】:

    【解决方案4】:

    这是一个老话题,但我用过

        <?php include_once("phpinclude/head.txt"); ?>
    

    phpinclude 是它自己的文件夹,我将页脚、页眉和公共位置信息保存在该文件夹中。 .js 和 .css 也有它自己的。

    编辑:我现在使用 require 。我宁愿让代码失败并死掉,也不愿给出一些随机字符串。它们是相同的,除了一个模具,另一个将打印出错误或随机代码。这是为学习 PHP 的人准备的,而不是老头。

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 2010-09-09
      • 2016-06-19
      • 2018-07-29
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      相关资源
      最近更新 更多