-> 用户输入http://www.xxxx.com网址,通过HTTP请求index.php网站入口文件
//网站入口文件index.php
define("APP_PATH", dirname(__FILE__));
header("Content-Type:text/html; charset=utf-8");
require_once('../../initphp/initphp.php'); //导入配置文件-必须载入
require_once('conf/comm.conf.php'); //公用配置
InitPHP::init(); //框架初始化
-> 入口文件主要调用InitPHP::init()来执行框架流程,导入dispatcher.init.php和run.init.php,先调用路由类,通过路由解析知道http需要请求哪一个控制器Controller文件中的Action方法,并且通过run.init.php框架运行类去执行Action方法。例如请求是:http//xxx.com/?c=user&a=register,则调用userController类中的register方法并执行
//InitPHP框架initphp.php文件
/**
* 【静态】运行InitPHP开发框架 - 框架运行核心函数
* 1. 在index.php中实例化InitPHP启动类 InitPHP::init();
* 2. 初始化网站路由,运行框架
* 3. 全局使用方法:InitPHP::init();
* @return object
*/
public static function init() {
try {
require(INITPHP_PATH . '/init/dispatcher.init.php');
require(INITPHP_PATH . '/init/run.init.php');
$dispacher = InitPHP::loadclass('dispatcherInit');
$dispacher->dispatcher();
$run = InitPHP::loadclass('runInit');
$run->run();
} catch (exceptionInit $e) {
$e->errorMessage();
}
}
-> 假设http地址:http//xxx.com/?c=user&a=register,则调用并执行controller/userController.php文件,并且执行register()方法
//项目web/controller/userController.php文件
/**
* 用户控制器
* @author zhuli
*/
class userController extends Controller {
public $initphp_list = array('register'); //Action白名单
public function register() {
echo "Hello World";
}
}
-> 浏览器中输出结果