zoukankan      html  css  js  c++  java
  • 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) {
    		......
    	}
    }
    

      

  • 相关阅读:
    Mybatis里Mapper.xml加强
    在eclipse中怎么把一个普通的项目变成一个maven项目
    给自己写博客定的小标准
    五一假期的惬意生活~
    MAC上postman离线安装时提示加载扩展程序出错怎么办?
    2017-4-6 四月生花,冷暖自知
    微信小程序开发过程中tabbar页面显示的相关问题及解决办法!
    微信小程序中如何实现分页下拉加载?(附源码)
    利用stylist插件,简单两步屏蔽新浪微博上的广告
    微信小程序官方指南手册,教你如何使用微信小程序!
  • 原文地址:https://www.cnblogs.com/coolid/p/3624110.html
Copyright © 2011-2022 走看看