找回密码
 立即注册
搜索
查看: 2185|回复: 0

【discuz 教程】discuzX2核心类库class_core.php的函数注释

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2015-3-7 15:29:12 | 显示全部楼层 |阅读模式
  1. class discuz_core {  
  2.   
  3.     // 数据库存储引擎  
  4.     var $db = null;  
  5.   
  6.     // 内存缓冲object  
  7.     var $mem = null;  
  8.   
  9.     // 会话 object  
  10.     var $session = null;  
  11.   
  12.     // 程序配置  
  13.     var $config = array();  
  14.   
  15.     // $_G 数组的映射  
  16.     var $var = array();  
  17.   
  18.     // 加载缓存的数组  
  19.     var $cachelist = array();  
  20.   
  21.     // 是否初始化  
  22.     var $init_setting = true;  
  23.     var $init_user = true;  
  24.     var $init_session = true;  
  25.     var $init_cron = true;  
  26.     var $init_misc = true;  
  27.     var $init_memory = true;  
  28.     var $init_mobile = true;  
  29.   
  30.     // 是否已经初始化  
  31.     var $initated = false;  
  32.   
  33.     // 列举全局变量,为清理做准备  
  34.     var $superglobal = array(  
  35.         'GLOBALS' => 1,  
  36.         '_GET' => 1,  
  37.         '_POST' => 1,  
  38.         '_REQUEST' => 1,  
  39.         '_COOKIE' => 1,  
  40.         '_SERVER' => 1,  
  41.         '_ENV' => 1,  
  42.         '_FILES' => 1,  
  43.     );  
  44.   
  45.     /**
  46.      * 建立唯一进程
  47.      * @staticvar discuz_core $object
  48.      * @return discuz_core
  49.      */  
  50.     function &instance() {  
  51.         ......  
  52.     }  
  53.   
  54.     /**
  55.      * 预处理的调用
  56.      */  
  57.     function discuz_core() {  
  58.         $this->_init_env();  
  59.         $this->_init_config();  
  60.         $this->_init_input();  
  61.         $this->_init_output();  
  62.     }  
  63.   
  64.     /**
  65.      * 核心初始化
  66.      */  
  67.     function init() {  
  68.         if(!$this->initated) {  
  69.             $this->_init_db();  
  70.             $this->_init_memory();  
  71.             $this->_init_user();  
  72.             $this->_init_session();  
  73.             $this->_init_setting();  
  74.             $this->_init_mobile();  
  75.             $this->_init_cron();  
  76.             $this->_init_misc();  
  77.         }  
  78.         $this->initated = true;  
  79.     }  
  80.   
  81.     /**
  82.      * 定义PHP环境信息常量和全局变量 $_G
  83.      *
  84.     */  
  85.     function _init_env() {  
  86.         ......  
  87.     }  
  88.   
  89.     /**
  90.      * 禁止对全局变量注入
  91.      * slashes 处理
  92.      * cookie 处理(去掉cookie前缀)
  93.      * 将 $_GET 与 $_POST 合并
  94.      *
  95.     */  
  96.     function _init_input() {  
  97.         ......  
  98.     }  
  99.   
  100.     /**
  101.      * 加载配置文件
  102.      *
  103.     */  
  104.     function _init_config() {  
  105.         ......  
  106.     }  
  107.   
  108.     /**
  109.      * 输出处理
  110.      * GET 参数跨站检测
  111.      * 防页面刷新
  112.      * gzip处理
  113.      * 字符集处理
  114.      *
  115.     */  
  116.     function _init_output() {  
  117.         ......  
  118.     }  
  119.   
  120.     /**
  121.      * 禁止机器人访问
  122.      *
  123.     */  
  124.     function reject_robot() {  
  125.         ......  
  126.     }  
  127.   
  128.     /**
  129.      * GET 参数跨站检测
  130.      *
  131.      * 2011-3-8 增加对 CONTENT-TRANSFER-ENCODING 代码的检测 (IE MHTML 漏洞)
  132.      */  
  133.     function _xss_check() {  
  134.         ......  
  135.     }  
  136.   
  137.     /**
  138.      * 获取客户端IP
  139.      *
  140.      */  
  141.     function _get_client_ip() {  
  142.         ......  
  143.     }  
  144.   
  145.     /**
  146.      * 初始化数据库类,同时选择主从数据库
  147.      *
  148.      */  
  149.     function _init_db() {  
  150.         ......  
  151.     }  
  152.   
  153.     /**
  154.      * 初始化session
  155.      *
  156.      */  
  157.     function _init_session() {  
  158.         ......  
  159.     }  
  160.   
  161.     /**
  162.      * 处理当前用户信息
  163.      *
  164.      */  
  165.     function _init_user() {  
  166.         ......  
  167.     }  
  168.   
  169.     /**
  170.      * 设置当前用户为游客
  171.      *
  172.      */  
  173.     function _init_guest() {  
  174.         ......  
  175.     }  
  176.   
  177.     /**
  178.      * 处理计划任务
  179.      *
  180.      */  
  181.     function _init_cron() {  
  182.         ......  
  183.     }  
  184.   
  185.     /**
  186.      * 杂项
  187.      * 调入核心语言包
  188.      * 处理全局时区设置
  189.      * 处理被封禁用户
  190.      * 站点开关检查
  191.      * 手机端控制每页显示主题数和回帖数
  192.      * 判断并执行每日登录奖励积分
  193.      *
  194.     */  
  195.     function _init_misc() {  
  196.         ......  
  197.     }  
  198.   
  199.     /**
  200.      * 加载全局设置 setting,风格 style,下一个任务 cronnextrun
  201.      *
  202.     */  
  203.     function _init_setting() {  
  204.         ......  
  205.     }  
  206.   
  207.     /**
  208.      * 处理当前界面风格
  209.      * 定义风格常量
  210.      *
  211.     */  
  212.     function _init_style() {  
  213.         ......  
  214.     }  
  215.   
  216.     /**
  217.      * 初始化Discuz 内存读写引擎
  218.      *
  219.     */  
  220.     function _init_memory() {  
  221.         ......  
  222.     }  
  223.   
  224.     /**
  225.     * 手机访问时的开关判断,浏览器判断和相关特性
  226.     *
  227.     */  
  228.     function _init_mobile() {  
  229.         ......  
  230.     }  
  231.   
  232.     /**
  233.     * 设置时区
  234.     * @param $timeoffset - 时区数值
  235.     * @return 无
  236.     */  
  237.     function timezone_set($timeoffset = 0) {  
  238.         ......  
  239.     }  
  240.   
  241.     /**
  242.     * 手机转码的$_POST多层数组递归转码
  243.     * @param $value - 字符串
  244.     * @return 返回转义好的字符串
  245.     */  
  246.     function mobile_iconv_recurrence($value) {  
  247.         ......  
  248.     }  
  249. }  
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 17:28 , Processed in 0.056154 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表