浏览:3032008-01-17 20:11   来自KENNETHBYRON      :

概要:
在这个系列中.我们将学习如何使用PHP5和标准PHP类库的一些特性来建立一个简单的MVC系统.

简介:
在这个系列中.我会给大家演示如何建立一个大型网络应用经常使用的MVC系统.那我们讲一步步逐渐实现完整的MVC系统的基本功能.

唯一的程序入口:
MVC系统非常重要的一点就是它只能有唯一的一个程序入口.通常可能大家要写很多的URL处理重定向.例如:
<?php
    include('globlal.php');
    //开始各个网页的真正代码
?>
为了避免麻烦的操作,取而代之,我们使用单一的一个页面来处理所有的请求.这样我们就不必每次创建新页面都包含global.php了.这个唯一的程序入口我通常命名为index.php.那么此时它的代码是:
<?php
    //初始操作
?>
就象大家看见的.index现在还什么都没有.不过很快.精彩节目马上继续......

为了确保所有的请求都流向index,我们来建立一个mod_rewrite引擎的重定向规则.将下面的代码放在一个和index同目录的.htaccess文件中:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
首先使用RewriteCond指令检查文件是否存在, 如果不存在则通过index来重定向.这个检查是必须的,因为请求也可能是象图片,脚本等等的非PHP文件.
如果不能使用.htaccess或者mod_rewrite.那么就必须手工完成通过index重定向请求,这就意味着大家所有的链接必须被放在一个表单中,使用"index.php?route=请求"这样的格式,如:index.php?route=char/index.

OK.既然所有的请求都已经流向统一的程序入口了,我们可以开始编写index.php了.首先我们要做的就是程序启动的一些常规任务.创建一个includes文件夹,在includes中新建一个appstart.php的文件.在index.php中导进appstart.php:
# 应用程序启动的常规任务 (define consts, etc)
require 'includes' . DIRECTORY_SEPARATOR . 'appstart.php';

应用程序启动的常规任务:

楼主

你还不是小组成员,加入小组以后才能发布新主题!
1 12815