我有一个使用MVCish模式的项目。
我有一个引导程序文件,从GET获取信息以找出要加载的控制器和方法,但我仍然坚持如何将其他GET参数作为参数传递给方法调用。
我当前的bootstrap index.php文件如下所示:
<?php
// sessions
session_start();
// config
require('common/Config.php');
// database
require('common/Db.php');
$_db = new Db();
// web
require('common/Web.php');
// main
require('cnt/Main.php');
$main = new Main($_db);
// current controller/view
$r = (isset($_GET['r']) && $_GET['r'] != '') ? $_GET['r'] : 'site/index';
// check auth
if($r != 'auth/index' && $r != 'auth/login'){
if(isset($_SESSION['id'], $_SESSION['token']) && $_SESSION['id'] != null && $_SESSION['token'] != null){
if(!$main->validateAuth($_SESSION['id'], $_SESSION['token'])){
$main->redirect('auth/index');
}
} else {
$main->redirect('auth/index');
}
}
// render page
$ep = explode('/', $r); $cnt = ucfirst($ep[0]); $action = 'action'.ucfirst($ep[1]);
unset($_GET['r']);
if(!empty($_GET)){
// additional parameters
}
include_once('cnt/'.$cnt.'.php');
$class = new $cnt($_db);
$class->$action();
我怎样才能做到这一点?