我一直这样做。我有一个自定义页眉和页脚文件,在每个页面的开头和结尾调用。
<?PHP
Require("includes/header.php");
...
Require("includes/footer.php");
?>
标头提供数据库句柄、日期时间字符串并处理登录、权限、页面浏览记录等。
页脚提供标准的 HTML 页面,但包含一些系统化的变量。它还从驱动数据库动态生成菜单,然后关闭数据库连接。
这样,当我编写代码时,我就不会在 HTML 中混淆,并且很容易找到任何错误。
我喜欢类似于以下的变量:
$display_scripts - adds extra data in the head section.
$display_onload_scripts - adds onload scripts to body section.
$display_style_sheets - option to include link to additional stylesheets
$display_above_menu - will appear above the menubar. NOT recommended.
$display_below_menu - will appear immediately below the menubar.
$display_one_column - page contents when only one column is to be used
$display_left_column - page contents when two columns used. Left pane.
$display_right_column - page contents when two columns used. Right pane.
$display_footer - appears in footer division.
然后我的主要代码只需要生成适当的变量。从根本上说,你需要做的是检查你产生的好年龄的来源,然后用变量替换你想要改变的东西。
这是我使用的文件的示意图版本(伪代码),让您了解我是如何做到的。
// Code here generates the menu from database
// Code here genereates popup alert messages from other users
//permanent links to external style sheets go here.
//You can also select skins here.
<?PHP
echo $display_style_sheets;
echo "<title>".$display_page_title."</title>";
?>
<script type="text/javascript" src="JAVASCRIPT GOES HERE.js"></script>
</head>
<body <?PHP echo $display_onload_scripts;?> >
<div id="page_area" >
<div id="banner">
</div>
<?php
echo $display_above_menu;
if(!$hide_menu){echo $display_menu;} //Insert the menu variable here.
echo $display_below_menu;
?>
<div id="content_area">
<div id="inner_content">
<?PHP
if($display_number_of_columns==1)
{
echo "<div id='onecolumn'>".$display_one_column."</div>"; //I only use this one
}
if($display_number_of_columns==2)
{
echo "<div id='leftcolumn'>".$display_left_column."</div>"; //these are left for legacy support from before I got better at CSS.
echo "<div id='rightcolumn'>".$display_right_column."</div>";
}
echo "<div id='footer'>".$display_footer."</div>"; //just in case - I hardly use it.
echo $display_pop_box; //for user alert messages to other users
?>
</div>
</div>
</div>
<div id="logbox"> Automatic Logout statement</div> //this is called by JS to activate timeouts.
</body>
</html>
<?PHP
$mysqlidb->close();
?>
抱歉,代码太多了。布局允许轻松调整,并且如果事情没有按预期进行,则可以轻松找到有问题的变量。有更优雅的解决方案,但这对我来说效果很好,而且速度非常快。