php教程|php手册
discuz
php教程-php手册
对discuz的代码分析学习(四)论坛入口文件,discuz论坛入口
winhex源码,ubuntu不能安装程序,地板上白色爬虫,hmacsha php,seo和malzw
只是大致分析下执行流程,主要就是取得mod参数的值,根据取值加载控制器,控制器位置在最后一行指定了。
l7 filter 源码,ubuntu开机密码,jar包自带tomcat吗,王者爬虫教学,php价格计算源码,seo优化一个人能做吗lzw
1 )定义应用名称,加载两个必要文件
选课源码,冰封系统安装ubuntu,配置tomcat心得体会,爬虫项目赚钱,php后端开发技术学习,小跟班seolzw
define(APPTYPEID, 2);define(CURSCRIPT, forum);require ./source/class/class_core.php;//核心类require ./source/function/function_forum.php;//论坛函数库
2 )modarray数组限定了mod取值范围
$modarray = array(ajax,announcement,attachment,forumdisplay, group,image,index,medal,misc,modcp, otice,post, edirect, elatekw, elatethread, ss, opicadmin, rade,viewthread, ag,collection,guide);//模块缓存列表,各个子数组分别表示各个模块要缓存的缓存项$modcachelist = array( index => array(announcements, onlinelist, forumlinks, heats, historyposts, onlinerecord, userstats, diytemplatenameforum), forumdisplay => array(smilies, announcements_forum, globalstick, forums, onlinelist, forumstick, hreadtable_info, hreadtableids, stamps, diytemplatenameforum), viewthread => array(smilies, smileytypes, forums, usergroups, stamps, bcodes, smilies, custominfo, groupicon, stamps, hreadtableids, hreadtable_info, posttable_info, diytemplatenameforum), edirect => array( hreadtableids, hreadtable_info, posttable_info), post => array(bcodes_display, bcodes, smileycodes, smilies, smileytypes, domainwhitelist, albumcategory), space => array(fields_required, fields_optional, custominfo), group => array(grouptype, diytemplatenamegroup),);
3 )如果mod参数为空或者不合法都会让表达式为真,导致值为index
$mod = !in_array(C::app()->var[mod], $modarray) ? index : C::app()->var[mod];
4 )做初始化
define(CURMODULE, $mod);//var_dump(CURMODULE);$cachelist = array();if(isset($modcachelist[CURMODULE])) {//如果当前缓存项存在的话, $cachelist = $modcachelist[CURMODULE];//获取当前缓存组的缓存列表项 $cachelist[] = plugin; $cachelist[] = pluginlanguage_system;}if(C::app()->var[mod] == group) { $_G[asescript] = group;}C::app()->cachelist = $cachelist;C::app()->init();//初始化loadforum();set_rssauth();runhooks();
5 )加载控制器
$navtitle = str_replace({bbname}, $_G[setting][bname], $_G[setting][seotitle][forum]);$_G[setting][ hreadhidethreshold] = 1;//var_dump($mod);require DISCUZ_ROOT../source/module/forum/forum_.$mod..php;