zoukankan      html  css  js  c++  java
  • phpcms——源代码阅读2

    第一次分支时其实就是整个base.php文件的执行

    base.php

    这个文件了,它是PHPCMS框架入口文件,他引入了很多的函数库,如:

    //加载公用函数库
    pc_base::load_sys_func('global');————公用函数库
    pc_base::load_sys_func('extention');————扩展库
    pc_base::auto_load_func();————自动加载的库

    上面的三个函数包含了三个分支文件分别是libs/functions文件夹下的 global.func.php, extention.func.php和autoload/plugin.func.php

    除此之外还定义了很多的常量,比如:

    define('IN_PHPCMS', true);
    //PHPCMS框架路径
    define('PC_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
    if(!defined('PHPCMS_PATH')) define('PHPCMS_PATH', PC_PATH.'..'.DIRECTORY_SEPARATOR);
    //缓存文件夹地址
    define('CACHE_PATH', PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR);
    //主机协议
    define('SITE_PROTOCOL', isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');
    //当前访问的主机名
    define('SITE_URL', (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''));
    //来源
    define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
    //系统开始时间
    define('SYS_START_TIME', microtime());
    pc_base::load_config('system','errorlog') ? set_error_handler('my_error_handler') : error_reporting(E_ERROR | E_WARNING | E_PARSE);
    //设置本地时差
    function_exists('date_default_timezone_set') && date_default_timezone_set(pc_base::load_config('system','timezone'));
    define('CHARSET' ,pc_base::load_config('system','charset'));
    //输出页面字符集
    header('Content-type: text/html; charset='.CHARSET);
    define('SYS_TIME', time());
    //定义网站根路径
    define('WEB_PATH',pc_base::load_config('system','web_path'));
    //js 路径
    define('JS_PATH',pc_base::load_config('system','js_path'));
    //css 路径
    define('CSS_PATH',pc_base::load_config('system','css_path'));
    //img 路径
    define('IMG_PATH',pc_base::load_config('system','img_path'));
    //动态程序路径
    define('APP_PATH',pc_base::load_config('system','app_path'));
    //应用静态文件路径
    define('PLUGIN_STATICS_PATH',WEB_PATH.'statics/plugin/');
    if(pc_base::load_config('system','gzip') && function_exists('ob_gzhandler')) {
        ob_start('ob_gzhandler');
    } else {
        ob_start();
    }

    还有一个pc_base基类

    这个类 初始化PHPCMS的应用程序
    提供 类库 函数库 和配置文件 的载入方法

  • 相关阅读:
    [转]oracle in 多个字段
    [转][MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据
    SQL Server “复制”表结构,创建_Log表及触发器
    [转]WordPress主题开发:主题初始化
    struts2请求过程源码分析
    java调优
    websocket之四:WebSocket 的鉴权授权方案
    高可用性及容灾的几个衡量指标
    Struts2返回JSON对象的方法总结
    java websocket @ServerEndpoint注解说明
  • 原文地址:https://www.cnblogs.com/fslnet/p/2526710.html
Copyright © 2011-2022 走看看