WordPress 博客程序执行过程详解
也许你使用 WordPress 有一段时间了,但是你认真去了解过 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。
加载 WordPress 运行环境
加载流程: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 的函数和类库等环境
加载模板
加载流程:index.php -> wp-blog-header.php -> template-loader.php
wp-settings.php 分析
- $blog_id:通过$blog_id可以配置多个blog。
timer_start() 和 timer_stop() 函数用于计算程序运行时间。
从文件开始到定义 timer_start() 主要配置 PHP 环境,之后加载 WordPress 函数和类库,并进行配置。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论