- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHPCMS单入口源码分析
本人在查阅PHP相关单入口资料时发现文献很少,而且PHPCMS源码的官方注释也十分有限,所以在此简要的写一篇关于PHPCMS单入口源码的分析,此文给出了PHPCMS入口的主要源码附带本人的一些注释。
限于本人的个人水平和疏忽,不能保证文章内的源码注释绝对准确,适合新手朋友学习
交流之用。
话不多说,首先我们需要下载一个PHPCMS的内容管理系统并安装,相关的下载安装教程百度上很多,在此不再赘述了。
安装完成后我们打开安装的PHPCMS工程,打开index.php,这是默认的控制器,也就是唯一的入口了。
该文件内的代码很少,详细如下:
/**
* index.php PHPCMS 入口
*/
define(PHPCMS_PATH, dirname(__FILE__).DIRECTORY_SEPARATOR);
include PHPCMS_PATH./phpcms/base.php;
pc_base::creat_app();
该文件定义了一个常量后就引入了一个名为base.php的文件,然后调用该文件中pc_base类的静态方法,创建一个应用。
我们打开安装文件目录下/phpcms/base.php 源码附带注释如下:
?php
/**
* base.php PHPCMS框架入口文件
*/
//设定入口为true
define(IN_PHPCMS, true);
// 设定PC_PATH:PHPCMS框架路径
define(PC_PATH, dirname(__FILE__).DIRECTORY_SEPARATOR);
if(!defined(PHPCMS_PATH)) define(PHPCMS_PATH,PC_PATH....DIRECTORY_SEPARATOR);
//设定CACHE_PATH:缓存路径
define(CACHE_PATH, PHPCMS_PATH.caches.DIRECTORY_SEPARATOR);
//设定SITE_PROTOCOL:主机协议
define(SITE_PROTOCOL, isset($_SERVER[SERVER_PORT]) $_SERVER[SERVER_PORT] == 443 ? https:// : http://);
//设定SITE_URL:当前访问的主机名
define(SITE_URL, (isset($_SERVER[HTTP_HOST]) ? $_SERVER[HTTP_HOST] : ));
//设定HTTP_REFERER:来源
define(HTTP_REFERER, isset($_SERVER[HTTP_REFERER]) ? $_SERVER[HTTP_REFERER] : );
//设定SYS_START_TIME:系统开始时间
define(SYS_START_TIME, microtime());
//加载公用函数库
pc_base::load_sys_func(global);
pc_base::load_sys_func(extention);
pc_base::auto_load_func();
//加载错误日志、报告、句柄
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);
//返回当前unix时间戳
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(
您可能关注的文档
- 鄂教版_卫生与健康_三年级上册教案(全)技术分析.doc
- BVI公司法,中文版技术分析.docx
- 鄂教版二上生字表(二)组词技术分析.doc
- c++primer第五版第三章习题答案技术分析.docx
- 鄂教版九年级下《范进中举》导学案技术分析.doc
- C++与Delphi中对象的互访技术分析.docx
- C2压力容器设计管理制度技术分析.docx
- 鄂教版一年级上写字教案全技术分析.doc
- C3压力容器设计技术规定技术分析.docx
- 鄂教版语文四下古诗及技术分析.doc
- 2025福建省二建建设集团有限公司校园招聘17人参考笔试题库及答案解析.docx
- 宜宾学院2025年公开选调工作人员(2人)参考考试试题及答案解析.docx
- 2025河北衡水冀州中学教师招聘模拟笔试试题及答案解析.docx
- 函电期末考试试题及答案.doc
- 2026江苏省苏州中学校招聘高层次优秀毕业生6人备考考试题库及答案解析.docx
- 2025云南西双版纳州勐海县机关事务服务中心编外岗位工作人员招聘3人参考笔试题库及答案解析.docx
- 2025南昌市劳动保障事务代理中心招聘劳务派遣人员3人参考考试题库及答案解析.docx
- 2025贵州黔南州独山县纪律检查委员会公益性岗位招聘2人参考笔试题库及答案解析.docx
- 2026内蒙古自治区行政执法人员专场招收1991人参考考试题库及答案解析.docx
- 2025四川成都经开区(龙泉驿区)第二批考核招聘高层次优秀医卫人才1人备考考试题库及答案解析.docx
原创力文档


文档评论(0)