对于包含的 HTML 代码片段文件,哪种命名约定是正确的?
Which naming convention is correct for included HTML code fragment files?
我确实有一个 index.php 文件,它通过 PHP 包含页面的不同部分。
例如,这将 HTML 页面的
部分包含到 index.php 文件中:
<!doctype html>
<html>
<head>
<?php include($_SERVER['DOCUMENT_ROOT']."/PATH-TO-FILE/head.php"); ?>
</head>
<body>
...
</body>
</html>
"head.php"的内容可能是这样的:
<meta charset="utf-8">
<title>Title of page</title>
<meta name="description" content="Description text...">
...
<link rel="stylesheet" href="stylesheet.css">
...
and so on...
技术上 "head.php" 不是 PHP 文件,因为它不包含任何 PHP 代码。它也不是有效的 HTML 文件。它只是一个 HTML 代码片段。
到目前为止,我一直将这些 HTML 代码片段文件命名为 *.html 或 *.php.
我的问题是这是否正确?
不给它一个文件扩展名是否明智?而不是 "head.php" 只是 "head"?
请记住,可以在服务器的 .htaccess 文件中设置有关 *.html 和 *.php 文件的缓存和过期的某些指令。删除文件扩展名并将其从 "head.php" 重命名为 "head" 可能会将其从 .htaccess 文件中提到的指令中排除。
在搜索时,我在 Whosebug 上发现了这个问题:
What extension should I use for files containing fragments of HTML
但是这个问题是 6 年前提出的,那里提到了很多不同的文件扩展名,很难说使用哪一个。
任何人都可以就此问题给出更新的答案吗?
如果您使用 include
,我强烈建议您使用 *.php
。 include
执行其中的代码,即使它是原始的 HTML。 (在这种情况下,它只是输出而没有进一步处理)
因此,对以这种方式输出的文件使用 *.php
。 (否则,由于某种原因有一天在编辑器中使用 <?php
时,编辑器中的突出显示也可能会很糟糕;另外,如果有人直接打开 *.html
文件,他会看到原始代码)
如果您正在使用例如readfile()
,然后 使用*.html
突出显示它只是原始 HTML 代码,不会执行任何内容。
这基本上取决于您如何包含文件。
P.s.: 完全没有扩展名。不太可取,这通常是您用于二进制文件和目录的方式。请注意,扩展实际上只是为了让您监督发生的事情。
我会离开 php。您正在使用 php 包含该文件。本身头文件就没用了
如果您向该文件添加一些 php 以进行进一步开发,会怎样?添加 php 扩展不是一个有效的生命周期。
更重要的是存储这些文件的位置。将它们放在模板文件夹下会告诉任何人,这些文件是模板。
我确实有一个 index.php 文件,它通过 PHP 包含页面的不同部分。
例如,这将 HTML 页面的
部分包含到 index.php 文件中:<!doctype html>
<html>
<head>
<?php include($_SERVER['DOCUMENT_ROOT']."/PATH-TO-FILE/head.php"); ?>
</head>
<body>
...
</body>
</html>
"head.php"的内容可能是这样的:
<meta charset="utf-8">
<title>Title of page</title>
<meta name="description" content="Description text...">
...
<link rel="stylesheet" href="stylesheet.css">
...
and so on...
技术上 "head.php" 不是 PHP 文件,因为它不包含任何 PHP 代码。它也不是有效的 HTML 文件。它只是一个 HTML 代码片段。
到目前为止,我一直将这些 HTML 代码片段文件命名为 *.html 或 *.php.
我的问题是这是否正确?
不给它一个文件扩展名是否明智?而不是 "head.php" 只是 "head"?
请记住,可以在服务器的 .htaccess 文件中设置有关 *.html 和 *.php 文件的缓存和过期的某些指令。删除文件扩展名并将其从 "head.php" 重命名为 "head" 可能会将其从 .htaccess 文件中提到的指令中排除。
在搜索时,我在 Whosebug 上发现了这个问题: What extension should I use for files containing fragments of HTML
但是这个问题是 6 年前提出的,那里提到了很多不同的文件扩展名,很难说使用哪一个。
任何人都可以就此问题给出更新的答案吗?
如果您使用 include
,我强烈建议您使用 *.php
。 include
执行其中的代码,即使它是原始的 HTML。 (在这种情况下,它只是输出而没有进一步处理)
因此,对以这种方式输出的文件使用 *.php
。 (否则,由于某种原因有一天在编辑器中使用 <?php
时,编辑器中的突出显示也可能会很糟糕;另外,如果有人直接打开 *.html
文件,他会看到原始代码)
如果您正在使用例如readfile()
,然后 使用*.html
突出显示它只是原始 HTML 代码,不会执行任何内容。
这基本上取决于您如何包含文件。
P.s.: 完全没有扩展名。不太可取,这通常是您用于二进制文件和目录的方式。请注意,扩展实际上只是为了让您监督发生的事情。
我会离开 php。您正在使用 php 包含该文件。本身头文件就没用了
如果您向该文件添加一些 php 以进行进一步开发,会怎样?添加 php 扩展不是一个有效的生命周期。
更重要的是存储这些文件的位置。将它们放在模板文件夹下会告诉任何人,这些文件是模板。