博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phpcms——源代码阅读2
阅读量:5940 次
发布时间:2019-06-19

本文共 1991 字,大约阅读时间需要 6 分钟。

第一次分支时其实就是整个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的应用程序

提供 类库 函数库 和配置文件 的载入方法

转载于:https://www.cnblogs.com/fslnet/archive/2012/05/30/2526710.html

你可能感兴趣的文章
转:Eclipse自动补全功能轻松设置
查看>>
ES6新特性:Javascript中的Reflect对象
查看>>
hibernate逆向工程生成的实体映射需要修改
查看>>
mysql update操作
查看>>
Robots.txt - 禁止爬虫(转)
查看>>
MySQL数据库
查看>>
项目分析_xxoo-master
查看>>
SQLServer2012自增列值跳跃的问题
查看>>
ViewBag对象的更改
查看>>
Mysql 监视工具
查看>>
hdu1025 Constructing Roads In JGShining's Kingdom(二分+dp)
查看>>
Android PullToRefreshListView和ViewPager的结合使用
查看>>
禅修笔记——硅谷最受欢迎的情商课
查看>>
struts2入门(搭建环境、配置、示例)
查看>>
Caused by: org.apache.ibatis.reflection.ReflectionException我碰到的情况,原因不唯一
查看>>
linux top命令查看内存及多核CPU的使用讲述【转】
查看>>
Linux下golang开发环境搭建
查看>>
jQuery操作input
查看>>
layer弹出信息框API
查看>>
delete from inner join
查看>>