zblogphp1.5.0代码分析(2) 从index.php开始

执行玩初始化相关操作后,实例化对象为 $GLOBALS['zbp'] = $zbp, 使用这个全局对象可以使用 lib/zblogphp类(全局操作类)的所有函数

$zbp->RedirectInstall();

这个是跳转到安装页面的函数,判断 $this->option['ZC_DATABASE_TYPE'] 配置是否有值,因为会加载 zb_users/c_option.php ,同键值后者覆盖前者,如果没有值才安装.然后还会判断 $this->option['ZC_YUN_SITE'] 这个值,这个值是 空的,所以进入该语句内的又一个 if 判断, $this->Config

('system')->CountItem() == 0 判断数据config表配置名为 system 的 值,如果没有值就跳转到注册页面.正常安装之后这个函数就没用了.

$zbp->CheckGzip();

检查是否打开 Gzip压缩,如果打开则 $zbp->isgzip 为 true ,这个变量是私有的,只能在 zblogphp类中使用,不能通过实例化调用.

$zbp->Load();

首先使用 foreach循环获取 $GLOBALS['hooks']['Filter_Plugin_Zbp_Load_Pre'] Zbp类的加载(预处理)接口的插件名称和插件中断方式(在Add_Filter_Plugin 挂上Filter(过滤器)接口,第三个参数,默认是PLUGIN_EXITSIGNAL_NONE,没有中断.另外两种是 return 和 break 方式).不过这里会将 插件中断方式清空在加载插件函数.

之后判断是否初始化成功,失败则返回false

之后判断是否载入,载入则返回false

接下来执行 StartGzip() 函数打开 Gzip ,看来必须要成功,不然还无法载入?

header('Content-type: text/html; charset=utf-8'); 输出编码格式

执行 ConvertTableAndDatainfo() 函数对表明和数据结构进行预转换

执行 LoadCategorys() 函数载入分类列表

执行 LoadTags() 函数载入标签列表,被注释掉了.

执行 LoadModules() 函数载入载入模块列表

执行 Verify()函数验证用户登录(COOKIE中的用户名密码)

之后执行 RegBuildModule() 函数重建了9个模块,第一个参数是模块名,第二个参数是用户函数.

然后 PrepareTemplate() 创建模板类

通过 LoadApp 函数载入指定应用,这里是载入 theme ,然后如果应用类型不是空的话则获取主题信息

通过 $this->ismanage 判断是否载入 管理模式,默认为false

最后通过 Add_Filter_Plugin() 挂载插件文件,这里挂载了3处!

然后 使用 foreach 函数加载钩子函数,设置 已加载标识,返回 true, Load() 结束!

$zbp->RedirectPermanentDomain();

该函数作用是检测当前的URL,如果不符合设置就跳转到固定的域名链接.

有两个判断,一个是是否启动固定域名,一个是是否打开永久域名重定向(这个没看到在哪里有设置,默认是true).所以会继续执行该函数.

接下来先使用 GetCurrentHost() 函数来获取当前的网站地址,这个函数在 zb_system/function/s_system_common.php 文件中,返回的是完整的地址. $this->host 是返回的网站路径?还是返回网址?不过这两次执行的函数的参数都是一样,只是一个带入和cookie一个没有.如果两次结果不一样则执行 GetRequestUri() 函数获取请求来源URL,看代码应该是返回最后一个斜杠之后的参数,拼接网站PATH,最后 执行 Redirect301() 函数进行301跳转.这几个函数都是在 common.php 文件.

$zbp->CheckSiteClosed();

最后一个调用的zblogphp类的函数是这个,检测网站是否关闭,如果关闭则显示错误页(关闭提示)并终止执行.

接下来如果没有关闭网站则 foreach 执行插件函数 (位于启动接口的的插件),显示页面之前

执行 ViewIndex() 函数显示首页,当然搜索页、feed页也是用这个函数显示的.

之后再次 foreach 执行插件函数,此处是启动个完毕之后的插件执行接口.

最后执行 RunTime() 函数显示页面执行时间,程序执行结束,显示页面.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 说明:接口模式复制自Z-Blog ASP版。 定义常量 PLUGIN_EXITSIGNAL_NONE '' 插件运...
    f675b1a02698阅读 1,309评论 0 0
  • 这篇文章是手册的中文译版整理而来(英文看着太慢了,感谢前人铺路Orz...),vim的markdown插件和实时预...
    Himryang阅读 7,006评论 0 20
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,656评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,129评论 25 707
  • 基础知识 CSS入门教程CSS 最核心的几个概念你应该知道的一些事情——CSS权重CSS3属性教程与案例分享经验分...
    李书文阅读 375评论 0 0