下面这个路由的写法如何理解

php中文网
发布: 2016-06-23 13:13:55
原创
1262人浏览过

/**
* 控制器调度
*
*/
private static function control(){
//二级域名
if ($globals['setting_config']['enabled_subdomain'] == '1' && $_get['act'] == 'index' && $_get['op'] == 'index'){
$store_id = subdomain();
if ($store_id > 0) $_get['act'] = 'show_store';
}
$act_file = realpath(base_path.'/control/'.$_get['act'].'.php');
$class_name = $_get['act'].'control';
if (!@include($act_file)){
   if (c('debug')) {
       throw_exception("base error: access file isn't exists!");
   } else {
       showmessage('抱歉!您访问的页面不存在','','html','error');
   }
}
if (class_exists($class_name)){
$main = new $class_name();
$function = $_get['op'].'op';
if (method_exists($main,$function)){
$main->$function();
}elseif (method_exists($main,'indexop')){
$main->indexop();
}else {
$error = "base error: function $function not in $class_name!";
throw_exception($error);
}
}else {
$error = "base error: class $class_name isn't exists!";
throw_exception($error);
}
}


回复讨论(解决方案)

把get里面的$act和$Op接下来,然后act是控制器的名字,将act接下来之后拼装成$actControl,然后引入文件,引入文件失败就抛异常,找到文件之后判断是否有$OpOp这个方法,如果没有就调用indexOp方法,如果还是没有就抛出方法不存在异常

发代码段能不能用代码格式啊= =看的头疼。。

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号