discuzX源代码分析–portal.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
//====定义app类型id以及当前脚本名称常量==== define('APPTYPEID', 4); define('CURSCRIPT', 'portal'); //====加载核心类库,函数库==== require './source/class/class_core.php'; //====貌似还分的挺细的==== require './source/function/function_home.php'; require './source/function/function_portal.php'; //====实例化核心类,为了兼容php4使用了&,引用赋值,实现了传说中的单例模式==== $discuz = & discuz_core::instance(); //====设置缓存列表==== $cachelist = array('userapp', 'blockclass', 'portalcategory'); $discuz->cachelist = $cachelist; //====初始化系统==== $discuz->init(); //====判断$_GET['mod']是否为空或是否在允许数组中,如果为空或不存在则更改为index==== if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment'))) $_GET['mod'] = 'index'; //====定义当前模块常量==== define('CURMODULE', $_GET['mod']); //====执行插件钩子==== runhooks(); //====加载source/module/portal/文件夹下的mod文件==== require_once libfile('portal/'.$_GET['mod'], 'module'); |