您的位置:首页 > 其它

程序入口自动调用 controller 的方法

2010-11-03 17:16 288 查看
/*
*DS :常量 DIRECTORY_SEPARATOR,表示路径分隔符 在win里为/ ,在linux 里为/
*CONTROLLERS_PATH:contorller主目录
*SCRIPT_NAME:contorller主目录下的子目录
*/
function action()
{
args_addslashes();
//act:controller中的路径参数 user.user_login。用"."分隔
//当cat没有值的时候,调用默认的"main"主contrller的"main"主方法。
if (empty($_GET['act']) || !preg_match("/^([a-z0-9]+)/.([a-z0-9]+_?(([a-z0-9]+)_?)*[a-z0-9]+)$/i", $_GET['act'], $arr))
{
$arr[0] = SCRIPT_NAME . '.main';
$arr[1] = SCRIPT_NAME;
$arr[2] = 'main';
}
$GLOBALS['cout']['act'] = $arr;//将路径赋值给全局变量
$tmp = CONTROLLERS_PATH . SCRIPT_NAME . DS . $arr[1] . '.con.php';//加载controller文件
if(is_file($tmp))//执行controller方法
{
include($tmp);
if(method_exists($arr[1],$arr[2]))
{
$f = new $arr[1];
$f->$arr[2]();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐