包含HTML代码片段文件的命名规约正确的是哪个?

6
我有一个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”代替“head.php”?
请记住,服务器的.htaccess文件中可以设置某些指令,涉及*.html和*.php文件的缓存和过期。删除文件扩展名并将其从“head.php”重命名为“head”可能会将其排除在.htaccess文件中提到的指令之外。
在搜索时,我在StackOverflow上找到了这个问题: What extension should I use for files containing fragments of HTML 但那个问题是6年前问的,提到了很多不同的文件扩展名,很难说应该使用哪一个。
有人能否就此问题给出更新的答案?

1
你怎么想改变不同文件的标题?也许通过向 PHP 函数传递名称作为参数会更好。在 HTML 中,标题很重要。 - Braisly
在这种情况下,我不关心任何东西的标题。我只是想知道如何命名文件本身。我在询问此类文件应具有的文件扩展名。是否有涵盖此问题的命名约定? - DSC
2个回答

4
如果你使用include,我强烈建议使用*.php。即使它是原始的 HTML,include也会执行其中的代码。(在这种情况下,它只是输出而没有更多的处理)
因此,对于以这种方式输出的文件,请使用*.php。(否则,当某天在其中使用<?php时,编辑器中可能也会出现错误的高亮显示;而且,如果有人直接打开*.html文件,则会看到原始代码)
如果你使用了例如readfile(),那么使用*.html来强调它仅为原始的 HTML 代码,永远不会被执行。
这基本上取决于你如何包含该文件。
附注:完全没有扩展名,这并不是真正可取的,通常是用于二进制文件和目录。请注意,扩展名只是为了让你了解发生了什么。

谢谢,那有助于理解问题。 - DSC

2

我会保留php文件格式。你正在使用php包含该文件。本身的头文件是无用的。

如果您想进行进一步开发,可以在该文件中添加一些php代码吗?将php扩展名添加回去并不是一个高效的生命周期。

更重要的是您存储这些文件的位置。将它们放在模板文件夹下将告诉任何人这些文件是模板。


谢谢,我通常会把它们放到一个名为“includes”的文件夹中。 - DSC
你把类、帮助程序和第三方库放在哪里? - Iamzozo
如果有不同的模块和库,我会使用文件夹结构。类不属于这个范畴,它们在样式表中定义。但是,当你说“类”时,也许你指的是其他东西。 - DSC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接