欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal目录结构及请求执行流程,drupal目录结构流程

Drupal目录结构及请求执行流程,drupal目录结构流程


目录结构

includes :包含了Drupal常用的函数库。

misc:用来存储Drupal安装中可用的JavaScript,和其它各种图标和图片文件。

modules:包含了所有核心模块,其中一个模块对应一个文件夹。每个模块文件夹包含三个基本文件 

              模块名.install 模块安装时执行的文件
              模块名.info 模块的描述信息
              模块名.module 模块的所有处理函数

profiles:Drupal的安装轮廓目录,比如门户,个人博客,电子商务

scripts:包含了许多脚本,这些脚本可用于语法检查,代码清洁,从命令行运行Drupal,使用cron处理特定情况等等。在Drupal的请求生命周期中,用不到它;里面包含一些shell和Perl的实用脚本。

sites:存放网站的配置文件,第三方模块(sites/all/modules),主题(sites/all/ themes)等。

sites/default /files:Drupal上传文件的目录

themes:包含了Drupal的模板引擎和默认主题。你下载的或者创建的其它主题,不能放在这里;应该放在sites/all/ themes中。

cron.php:用来执行周期性任务,比如清理过期缓存数据,以及计算统计信息。

index.php:处理请求的主入口。

install.php: Drupal安装器的主入口。

update.php: Drupal版本升级后,用来更新数据库。

xmlrpc.php: 用来接收XML-RPC请求,如果你的网站不打算接收XML-RPC请求的话,那么可以将其从中删除。

robots.txt:它是搜索引擎爬虫排除标准的默认实现。

 

执行流程:
.引导流程
分为9个阶段:
1.初始化配置:这个阶段包括记录页面的开始时间,初始化全局变量,读取配置文件的配置信息,初始化cookie域
SESSION名 
2.早期页面缓存:include缓存处理文件,如果系统开启了缓存,并且实现了page_cache_fastpath函数,函数有输出并且返回true,则直接输出内容,程序退出
3.初始化数据库:include数据库处理文件,激活数据库。
4.权限验证:如果没有权限,程序退出
5.初始化session:include session处理文件,注册session处理函数,并session_start();
6.后期页面缓存:如果无缓存则调用所有模块的 模块名_boot()函数并发送header,有缓存则读取缓存并调用 模块名_exit()函数,程序退出
7.初始化语言:多语言环境
8.初始化路径:根据当前url查找模块路径
9.最后阶段:include需要的函数文件,注册异常处理函数,加载所有模块,并初始化模块(通过调用 模块名_init 函数)

 

.处理请求
根据流程一的第8阶段,从数据库中查出回调函数并执行,将数据放到数组中,以便下阶段处理
.主题化数据
根据流程二的数组,和网站启用的主题,对数据进行处理,并展示

来自  http://www.bkjia.com/PHPjc/1144988.html

普通分类: