将页眉和页脚作为模板包括在内是不是很糟糕


Is it bad to include header and footer as a template?

我想知道通过另一个页面包含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>

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

但问题是,在我的网站上使用"模板"风格不好吗?

(我看到了一些类似的问题,但它们并没有真正回答我的问题,这就是为什么我开始了一个新的主题-如果错了,很抱歉)

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

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

不,这太棒了。实际上,你会发现有越来越多的东西你想移到包含的文件中,例如,你网站的侧边栏可能在它自己的文件中。这正是PHP的初衷,让你的网站更容易维护。

任何PHP都会比HTML慢。例如,人们在wordpress网站上使用缓存插件,因此只需要请求HTML,php服务器就不必那么努力,页面也会更快。但是,随着wordpress的流行,使用PHP的好处显然超过了这一点。

所有php调用都是一次调用,因此php的多次调用与css文件或JavaScript的多次调用不同。

随着网站的发展,你会很乐意做出一个会影响所有页面的更改,而不是必须更改每个页面。一个简单的例子是标题中的季节性问候语。简单的广告和带走你的模板。如果没有。这是在更明显的联系发生变化之前。

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

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