wordpress程序流程分析

index.php 统一入口文件

包含wp-blog-heaer.php

包含wp-load.php

包含wp-config.php

数据库、语言包配置等

包含wp-setting.php

对各种运行环境做兼容性处理
定义路径常量等
载入公共函数,类
初始化公用对象(数据库等)
魔术引用处理

运行wp();

初始化
发送HTTP头信息
post (文章数据)查询,这里很关键,整个wp站的post 数据都是通过这里查询的。

包含template-loader.php

根据页面类型载入不同的模板页面文件

——————————————————————————————————————————

我们可以看出整个wp的程序结构 是很特别的,也不象一些普通的面向过程,也不是MVC,总之就是他自己的程序结构。

在模板前面的程序基本上都是公共处理,但是把post的查询的逻辑处理放在公共处理中。因为整个wp的页面基本上都有查询post。

其它的逻辑操作基本上是在模板中调用的(比如评论),所以它的模板并不是单纯的V,可以算是C+V。

1、Loads the WordPress environment:

加载流程:index.php -> wp-blog-header.php -> wp-load.php -> wp-config.php -> wp-settings.php

wp-load.php:根据wp-config.php文件是否在判断程序是否已安装,已安装则加载wp-config.php,未安装则提示安装

wp-config.php:记录了安装时的配置信息,包括数据库和程序的配置;并加载wp-settings.php

wp-settings.php:加载wp的函数和类库等环境

2、Loads the template: