我想在每个页面上都有相同的页眉和页脚,只有使用 PHP 的不同内容。做到这一点的最佳方法是什么?
我知道这两个流行的,但不知道选择哪一个(或者可能是其他一些):
1. 在每一页上包含页眉和页脚
在每个页面中,如contact.php、about.php等,您必须在页面顶部包含页眉,在底部包含页脚。然后内容也介于两者之间。例如contact.php看起来像这样:
<?php include("header.php"); ?>
Lorem ipsum dolor sit amet...
<?php include("footer.php"); ?>
当你想做请求时,你只需输入example.com/contact.php
2. index.php?page=xyz
在contact.php、about.php等页面中,您只存储实际内容。然后你有index.php和一些参数(例如页面),你可以通过它指定要包含的内容。例如,contact.php文件如下所示:
Lorem ipsum dolor sit amet...
像这样的index.php文件(这是简化版):
<html>
<head>
<title>Lorem ipsum</title>
</head>
<body>
<?php include(some_parser_function($_GET["page"].".php")); ?>
</body>
</html>
现在,当您请求它时,index.php?page=contact
它会显示index.php以及在开始和结束body
标记之间来自contact.php的内容。
第一种方法在我看来有点不切实际,因为您必须将包含函数写入每个页面。在第二种方法中,如果你想拥有像example.com/contact.php
或只是这样的好 URL example.com/contact
,你需要做 apache mod_rewriting...
这些(和其他)方法中的哪一种更好/更受欢迎,为什么?
谢谢。