略胜萧风

discuz核心类库class_core的函数注释

class discuz_core {

  // 数据库存储引擎
  var $db = null;

  // 内存缓冲object
  var $mem = null;

  // 会话 object
  var $session = null;

  // 程序配置
  var $config = array();

  // $_G 数组的映射
  var $var = array();

  // 加载缓存的数组
  var $cachelist = array();

  // 是否初始化
  var $init_setting = true;
  var $init_user = true;
  var $init_session = true;
  var $init_cron = true;
  var $init_misc = true;
  var $init_memory = true;
  var $init_mobile = true;

  // 是否已经初始化
  var $initated = false;

  // 列举全局变量,为清理做准备
  var $superglobal = array(
    'GLOBALS' => 1,
    '_GET' => 1,
    '_POST' => 1,
    '_REQUEST' => 1,
    '_COOKIE' => 1,
    '_SERVER' => 1,
    '_ENV' => 1,
    '_FILES' => 1,
  );

  /**
   * 建立唯一进程
   * @staticvar discuz_core $object
   * @return discuz_core
   */
  function &instance() {
    ......
  }

  /**
   * 预处理的调用
   */
  function discuz_core() {
    $this->_init_env();
    $this->_init_config();
    $this->_init_input();
    $this->_init_output();
  }

  /**
   * 核心初始化
   */
  function init() {
    if(!$this->initated) {
      $this->_init_db();
      $this->_init_memory();
      $this->_init_user();
      $this->_init_session();
      $this->_init_setting();
      $this->_init_mobile();
      $this->_init_cron();
      $this->_init_misc();
    }
    $this->initated = true;
  }

  /**
   * 定义PHP环境信息常量和全局变量 $_G
   *
  */
  function _init_env() {
    ......
  }

  /**
   * 禁止对全局变量注入
   * slashes 处理
   * cookie 处理(去掉cookie前缀)
   * 将 $_GET 与 $_POST 合并
   *
  */
  function _init_input() {
    ......
  }

  /**
   * 加载配置文件
   *
  */
  function _init_config() {
    ......
  }

  /**
   * 输出处理
   * GET 参数跨站检测
   * 防页面刷新
   * gzip处理
   * 字符集处理
   *
  */
  function _init_output() {
    ......
  }

  /**
   * 禁止机器人访问
   *
  */
  function reject_robot() {
    ......
  }

  /**
   * GET 参数跨站检测
   *
   * 2011-3-8 增加对 CONTENT-TRANSFER-ENCODING 代码的检测 (IE MHTML 漏洞)
   */
  function _xss_check() {
    ......
  }

  /**
   * 获取客户端IP
   *
   */
  function _get_client_ip() {
    ......
  }

  /**
   * 初始化数据库类,同时选择主从数据库
   *
   */
  function _init_db() {
    ......
  }

  /**
   * 初始化session
   *
   */
  function _init_session() {
    ......
  }

  /**
   * 处理当前用户信息
   *
   */
  function _init_user() {
    ......
  }

  /**
   * 设置当前用户为游客
   *
   */
  function _init_guest() {
    ......
  }

  /**
   * 处理计划任务
   *
   */
  function _init_cron() {
    ......
  }

  /**
   * 杂项
   * 调入核心语言包
   * 处理全局时区设置
   * 处理被封禁用户
   * 站点开关检查
   * 手机端控制每页显示主题数和回帖数
   * 判断并执行每日登录奖励积分
   *
  */
  function _init_misc() {
    ......
  }

  /**
   * 加载全局设置 setting,风格 style,下一个任务 cronnextrun
   *
  */
  function _init_setting() {
    ......
  }

  /**
   * 处理当前界面风格
   * 定义风格常量
   *
  */
  function _init_style() {
    ......
  }

  /**
   * 初始化Discuz 内存读写引擎
   *
  */
  function _init_memory() {
    ......
  }

  /**
  * 手机访问时的开关判断,浏览器判断和相关特性
  *
  */
  function _init_mobile() {
    ......
  }

  /**
  * 设置时区
  * @param $timeoffset - 时区数值
  * @return 无
  */
  function timezone_set($timeoffset = 0) {
    ......
  }

  /**
  * 手机转码的$_POST多层数组递归转码
  * @param $value - 字符串
  * @return 返回转义好的字符串
  */
  function mobile_iconv_recurrence($value) {
    ......
  }
}

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注