1. 创建配置文件
a) 定义常量
b) 建立站点范围内的设置
c) 创建用户自定义函数
d) 管理错误
示例:创建一个配置文件:
Config.inc.php
1) 设置处理错误需要用到的电子邮件
<span style="font-family:Microsoft YaHei;font-size:18px;">$conact_email = 'veaglefly@163.com';</span>
2) 判断该脚本在测试服务器上还是真实服务器上
<span style="font-family:Microsoft YaHei;font-size:18px;">$host = substr($_SERVER['HTTP_HOST'],0,5);
if(in_array($host,array('local','127.0','192.1'))){
$local = true;
}else{
$local = false;}</span>
3)设置服务器的相关变量
<span style="font-family:Microsoft YaHei;font-size:18px;">if($lcoal){
$debug = true;
define('BASE_URI','/path/to/html/folder/');
define('BASE_URL','HTTP://lcoalhost/directory/');
define('DB','path/to/mysql.inc.php');
}else{
define('BASE_URI','/path/to/live/html/folder/');
define('BASE_URL','www.***.com');
define('DB','path/to/live/mysql.inc.php');
}</span>
4) 设置调试级别
<span style="font-family:Microsoft YaHei;font-size:18px;">if(!isset($debug)){
$debug= true;
}</span>
2. 创建HTML模板
在任何HTML之前,创建一个PHP代码块来检查变量$page_title:
<span style="font-family:Microsoft YaHei;font-size:18px;"><?PHP
If(!isset($page_title))
$page_title = “Default Page Title”;
?></span>
为了防止有些PHP脚本在包含页头文件时可能忘记设置$page_title,所以在此我们设置了一个默认的页面标题。
3. 创建索引文件
索引文件是模块化程序中的主要脚本,事实上他是唯一被加载进web浏览器的页面,这种构建方法的技术术语叫做引导文件,它通常也是在基于框架的网站系统中的通常方式。
a) 确定要显示的页面
<span style="font-family:Microsoft YaHei;font-size:18px;">if(isset($_GET['p'])){
$p = $_GET['p'];
}elseif(isset($_POST['p'])){
$p = $_POST['p'];
}else{
$p = null;
}</span>
b) 利用switch确定页面的标题和文件
c) 确定模块是否存在
<span style="font-family:Microsoft YaHei;font-size:18px;">if(!file_exists('./modules/'.$page)){
$page= "main.inc.php";
$page_title= 'Site Home Page';
}</span>
d) 包含页头文件
<span style="font-family:Microsoft YaHei;font-size:18px;">include('./includes/header.html');</span>
e) 包含模块
<span style="font-family:Microsoft YaHei;font-size:18px;">include('./modules/.$page');</span>
f) 包含页脚文件
<span style="font-family:Microsoft YaHei;font-size:18px;">include('./includes/footer.html');</span>
注意:
用switch语句来验证$p变量的适当值是个很重要的安全措施。另一种就是使用单独的变量来代表被包含的文件的名字。下面的代码就极不安全。
Include($_GET[‘p’]);
4. 创建内容模块
注意:模块文件不应该能够被直接加载。
a) 对访问页面的用户进行重定向操作
<span style="font-family:Microsoft YaHei;font-size:18px;">$url = BASE_URL.'index.php';
header("Localtion:$url");
exit;</span>
如果这个页面被直接访问,用户应该被重定向到索引页面。因此我们想使用一个绝对地址,所以配置文件必须包含进来用来获取BASE_URL的值。
5. 创建搜索模块
本节重点是,没有数据库的搜索,知识为了使用PHP处理表单。
在header.html中,一个隐藏的input元素是必须的,将其名称设置为p,其值设置为search。这行代码告诉引导文件,当表单被提交时,加载搜索模块。