2012-03-08 50 views
0

我对于以网络为中心的设计和编程相当陌生。我应该如何保持网页的一致性

我有一个HTML + CSS与PHP页面我很满意。它有一个标题,一个主要内容区域和一个侧边栏。
现在我正在处理第二页。第二页应该与第一页具有相同的外观。我将重用CSS,但第一页和第二页之间似乎有很多重复(例如,页眉中的内容和侧栏几乎相同)。

在多个页面上重复播放是否正常?如果以后我想改变某些东西,我将不得不在(可能)很多地方改变它。这似乎相当愚蠢,所以我认为我错过了一些东西。我想也许我会使用CSS中的“小”部分,在一个“更大”的包装中,也许包含整个Header,然后将它包含在这两个页面中;我不确定这是否是我应该前进的正确方向(或者我该怎么做)。

我也想过也许我可以使用PHP每次动态生成页面,在一个类中包装代,然后最终得到类似myClass->generateHeader()的东西。我使用PHP来生成一些页面,所以概念上的飞跃并不是太好;另一方面,我认为生成每页请求的页面在性能方面更差,并且(从我的简短搜索中)似乎涉及几百行PHP来生成相当短的HTML段(假设它更复杂而不是一堆包含我反正写的HTML的echo声明

寻找“创建HTML模板”是相当无果的,但我不确定我会用什么样的关键字来问这个问题通常处理。

你如何坚持干燥,避免在网站中重复自己在多个相关网页?

+2

这种讨论可能属于程序员堆栈交换 – 2012-03-08 23:09:35

+0

为了简单起见,我使用php动态生成了我的html。我有一个php包含文件,我包含在我网站的大部分页面中,这样我就可以使用那里的方法来生成我想要的html,它允许我有很多种类。我设置了我的方法的参数,以便在页面上的文本很少的情况下对内容进行极端更改。 – deltree 2012-03-08 23:11:50

+0

请问downvoter可以提供关于这个问题的反馈吗?它可能更适合程序员。但它仍然是一个很好的问题。 – cmbuckley 2012-03-08 23:19:38

回答

0

您可以使用PHP的包括方法:http://php.net/manual/en/function.include.php为了不必重复总是需要的部分页面。例如,页眉和页脚,导航等。

要回答您的其他问题,使用类来存储HTML部分是另一种方法,可以证明是有用的。除非你的类在初始化时需要做很多计算,否则它不会增加额外的处理时间。

0

如果担心有些事情会在多个资源中重复出现,请将它们排除在外。

改为在后处理中添加它们。

您可以在服务器级别上做到最好。您也可以在该级别添加缓存(如果需要的话),这样您的页面只会生成一次,而不会再生成一次(或者直到缓存过期)。

0

我同意马特K,这可能是更多的程序员堆栈交换相关,但我会提供一些技巧。

我认为正常的事情是创建某种类型的页眉/页脚文件。例如,您的头文件将包含您在每个页面上所需的所有内容,即徽标,菜单,CSS包括等而页脚是有用的:等

一旦这些文件被创建关闭包装的div,谷歌的AdSense代码,为每个页面,你只是做:

<?php include("header.php"); ?> 

BODY OF PAGE 

<?php include("footer.php"); ?> 

: )

0

如果任何组件是静态组件(例如侧边栏),那么您可以将静态HTML放在一个文件中,并将它简单地放置在相关位置。 (OO选择:让View对象为你提供静态HTML。)

如果在这些组件中需要一些自定义逻辑,那么include仍然可以工作,但由于您讨论了基于类的替代方法,我会建议在您的应用程序中创建MVC architecture

的MVC架构可能会考虑页眉/侧边栏/页脚等,(在主视图中更小的部件)局部视图,或部分整体布局(页眉/侧边栏/页脚回绕的你的主要内容主体)。

布局选项具有很大的意义,因为它可以将主要内容的视图与您对页面组件粘贴在一起的整体概念进行解耦。这也意味着修改布局非常简单(例如,通过更改一个布局文件,将侧边栏放在右侧而不是左侧)。

相关问题