我正在开发一个在界面上相当轻量级的网站,主要是数据库驱动的(等量读写)。它是用PHP编写的,我发现每个页面的最简单方法是:
页:
<?php include("header-nav.php"); ?>
<table>
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
<tr>
<td>Data Point 1</td>
<td>Data Point 2</td>
</tr>
<tr>
<td>Data Point 3</td>
<td>Data Point 4</td>
</tr>
</table>
<?php include("footer.php"); ?>
头-nav.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Welcome</title>
<link rel="stylesheet" type="text/css" href="assets/style.css" />
</head>
<?php include("db_connect.php"); ?>
<body>
<div id="wrapper">
<h1>Welcome</h1>
<ul id="nav">
<li><a href="index.php">Home</a></li>
<li><a href="data.php">Data</a></li>
</ul>
footer.php:
</div>
</body>
<?php mysql_close($dbc); ?>
</html>
所有这些页面本身都无效,可能会产生错误。通过共同创建整个页面,它们看起来很棒。
我的问题是:这是一种高效且易于维护的解决方案吗?
似乎只添加一对包括(一个在顶部,一个在底部)是有道理的。特别是因为网站非常轻巧,我不需要Web框架。如果不以<html><head>
...等开始创建页面,感觉很不舒服。
答案 0 :(得分:2)
这绝对是一件好事。我会极力推荐它。这样,如果您需要更改标题或任何内容,您可以轻松地在一个位置更改标题。用于命名包含文件系统的读取时间确实不是很大的问题。所以我想说这绝对是可以接受的。
答案 1 :(得分:1)
“所有这些页面本身都无效” - 我不确定你的意思是什么。你的意思是HTML验证器不会传递它们?当然不是 - 它们是页面的碎片。重要的是验证器在对执行的PHP生成的HTML进行运行时所说的内容。
这是一种方法,根据问题的大小,你正在处理它是一个有效的方法。
答案 2 :(得分:0)
是的,IMO这是一种非常好的做事方式,特别是对于小型网站。多次自己完成。
答案 3 :(得分:0)
克服你的不适。大多数IDE(Dreamweaver都会浮现在脑海中)实际上支持这种开发网站的方式,如果你喜欢所见即所得,它会正确显示内容并尊重包含。
我使用包括开发网站,如下:
site-header.inc:
require_once 'html-header.inc';
<div id="header">
/* menus, navigation, etc. */
</div>
<div class="content">
site-footer.inc:
</div>
<div id="header">
/* menus, navigation, etc. */
</div>
require_once 'html-footer.inc';
其中“html-header.inc”和“html-footer.inc”是您的HTML页眉和页脚标签和元素(标题,元等)。然后,我有一些功能允许我在页面的任何位置添加CSS,JavaScript,标题,并使用ob_start()
和ob_end_flush()
实际上在页脚中处理这些。 e.g。
stylesheet_register($path, $media="screen", $type="text/css");
javascript_register($path, $type="text/javascript");
title_set($title, $overwrite=true);
它是抽象的基本概念:不要两次写相同的“标题”和“页脚”HTML代码。这同样适用于任何可以轻松抽象和解耦的PHP功能。祝你好运。