Recent changes

2013-04-14 2013-04-02 2013-02-17 2013-01-29 2013-01-20 2013-01-18 2012-12-08 2012-11-06 2012-09-04 2012-08-02

drupal/functions/_drupal_bootstrap

_drupal_bootstrap

drupal_bootstrapで指定されたフェーズを実行する。

フェーズはswitch文で分割され、それぞれのフェーズにあった関数が実行される。

function _drupal_bootstrap($phase) {                                            
  global $conf;                        
                                       
  switch ($phase) {                    
                                       
    case DRUPAL_BOOTSTRAP_CONFIGURATION:
      drupal_unset_globals();          
      // Initialize the configuration
      conf_init();                     
      break;                           
                                       
    case DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE:
     _drupal_cache_init($phase);   
     break;

    case DRUPAL_BOOTSTRAP_DATABASE: 
      // Initialize the default database.
      require_once './includes/database.inc';
      db_set_active();                 
      break;
                                 
    case DRUPAL_BOOTSTRAP_ACCESS:   
      // Deny access to hosts which were banned - t() is not yet available.
      if (drupal_is_denied('host', $_SERVER['REMOTE_ADDR'])) {
        header('HTTP/1.1 403 Forbidden');
        print 'Sorry, '. $_SERVER['REMOTE_ADDR']. ' has been banned.';
        exit();                        
      }                                
      break;
                                
    case DRUPAL_BOOTSTRAP_SESSION:  
      require_once variable_get('session_inc', './includes/session.inc');
      session_set_save_handler('sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy_sid', 'sess_gc');
      session_start();                 
      break;

    case DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE:
      // Initialize configuration variables, using values from settings.php if available.
      $conf = variable_init(isset($conf) ? $conf : array());
                                   
      _drupal_cache_init($phase);
                                     
      // Start a page timer:           
      timer_start('page');             
                                      
      drupal_page_header();            
      break;                           
                                      
    case DRUPAL_BOOTSTRAP_PATH:        
      require_once './includes/path.inc';
      // Initialize $_GET['q'] prior to loading modules and invoking hook_init().
      drupal_init_path();              
      break;
                                  
    case DRUPAL_BOOTSTRAP_FULL:    
      require_once './includes/common.inc';
      _drupal_bootstrap_full();
      break;
  }
}