Drupal启动过程

Drupal整个启动过程共分为8个阶段:

  • DRUPAL_BOOTSTRAP_CONFIGURATION:initialize configuration
  • DRUPAL_BOOTSTRAP_PAGE_CACHE:try to serve a cached page
  • DRUPAL_BOOTSTRAP_DATABASE:initialize database layer
  • DRUPAL_BOOTSTRAP_VARIABLES:initialize the variable system
  • DRUPAL_BOOTSTRAP_SESSION:initialize session handling
  • DRUPAL_BOOTSTRAP_PAGE_HEADER:set up the page header
  • DRUPAL_BOOTSTRAP_LANGUAGE:find out language of the page
  • DRUPAL_BOOTSTRAP_FULL:Drupal is fully loaded; validate and fix input data


根据不同的目的,可以控制Drupal启动到不同的阶段。例如,index.php就需要Drupal完全启动:

<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

// 完全启动后再执行菜单请求处理
menu_execute_active_handler();

我有一个demo.php文件,用来测试Drupal数据库API,因此只需要数据库启动完成就可以了,后面的不需要执行:

<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);

// 到这里就可以使用数据库API了
$result = db_query('SELECT nid, title FROM node');
原文地址:https://www.cnblogs.com/eastson/p/3355682.html