模块化web程序


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。这行代码告诉引导文件,当表单被提交时,加载搜索模块。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值