日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

drupal启动过程

發(fā)布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 drupal启动过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

switch?($current_phase)?{case?DRUPAL_BOOTSTRAP_CONFIGURATION:_drupal_bootstrap_configuration();break;

  • 初始化配置

  • ??#設(shè)置drupal的錯誤和異常處理機制set_error_handler('_drupal_error_handler');set_exception_handler('_drupal_exception_handler');#初始化php環(huán)境drupal_environment_initialize();#標(biāo)記頁面開始執(zhí)行時間timer_start('page');#初始化配置包括settings.php文件里面的設(shè)置#小技巧:最好在settings.php文件里面設(shè)置$cookie_domain?=?'.example.com';#這樣避免執(zhí)行過多代碼#設(shè)置session?name源碼#$prefix?=?ini_get('session.cookie_secure')???'SSESS'?:?'SESS';#session_name($prefix?.?substr(hash('sha256',?$session_name),?0,?32));drupal_settings_initialize();

    case?DRUPAL_BOOTSTRAP_PAGE_CACHE:_drupal_bootstrap_page_cache();break;

    ? 2.設(shè)置頁面緩存并試圖找到當(dāng)前頁面是否已經(jīng)被緩存

    require_once?DRUPAL_ROOT?.?'/includes/cache.inc';#判斷drupal緩存機制是否被更改,例如換成memcache或者redis或者其他#memcache模塊設(shè)置有#$conf['cache_backends'][]?=?'sites/all/modules/memcache/memcache.inc';#$conf['cache_default_class']?=?'MemCacheDrupal';#設(shè)置form表單用的緩存在第三方緩存不存在時依舊可以使用,所以需要將form表單的緩存交給數(shù)據(jù)庫#$conf['cache_class_cache_form']?=?'DrupalDatabaseCache';#如果設(shè)置使用了第三方緩存必須要設(shè)置$conf['page_cache_without_database']這個為true才能使用第三方緩存#跳過使用mysql數(shù)據(jù)庫,另外$conf['page_cache_invoke_hooks']設(shè)為false表示不再使用鉤子hook_boot,#hook_exit否則會報錯因為后面會用到module_list這個時候找不到這個方法。#$conf['page_cache_without_database']?=?TRUE;#$conf['page_cache_invoke_hooks']?=?FALSE;foreach?(variable_get('cache_backends',?array())?as?$include)?{require_once?DRUPAL_ROOT?.?'/'?.?$include;}//?Check?for?a?cache?mode?force?from?settings.php.if?(variable_get('page_cache_without_database'))?{$cache_enabled?=?TRUE;}else?{drupal_bootstrap(DRUPAL_BOOTSTRAP_VARIABLES,?FALSE);$cache_enabled?=?variable_get('cache');}#判斷用戶ip是否已經(jīng)被禁止drupal_block_denied(ip_address());#判斷是否登錄?如果是游客則讀取頁面緩存if?(!isset($_COOKIE[session_name()])?&&?$cache_enabled)?{

    case?DRUPAL_BOOTSTRAP_DATABASE:_drupal_bootstrap_database();break;

    3.初始化數(shù)據(jù)庫以及自動加載所需要的類

    require_once?DRUPAL_ROOT?.?'/includes/database/database.inc'; #注冊自動加載類和接口的方法 #標(biāo)注drupal的類和接口文件在數(shù)據(jù)庫表registry里面,同時表registry_file對文件是否變化做了hash處理 #應(yīng)該是在開始模塊的時候存到數(shù)據(jù)表的 #當(dāng)使用某個類或者某個接口的時候drupal會自動啟動drupal_autoload_class或者drupal_autoload_interface #去查找類或者接口去驗證是否存在 spl_autoload_register('drupal_autoload_class'); spl_autoload_register('drupal_autoload_interface');

    case?DRUPAL_BOOTSTRAP_VARIABLES:_drupal_bootstrap_variables();break;

    4.加載系統(tǒng)變量和所有開啟的模塊

    global?$conf; #初始化鎖系統(tǒng) require_once?DRUPAL_ROOT?.?'/'?.?variable_get('lock_inc',?'includes/lock.inc'); lock_initialize(); #加載數(shù)據(jù)庫中的變量并不覆蓋settings.php文件里變量的覆蓋 $conf?=?variable_initialize(isset($conf)???$conf?:?array()); #加載?bootstrap?模塊.?在表system中bootstrap?等于?1的。 #目前自己裝的項目只有dblog,overlay,devel?3個模塊 require_once?DRUPAL_ROOT?.?'/includes/module.inc'; module_load_all(TRUE);

    case?DRUPAL_BOOTSTRAP_SESSION:require_once?DRUPAL_ROOT?.?'/'?.?variable_get('session_inc',?'includes/session.inc');drupal_session_initialize();break;

    5.初始化session,開啟session

    #設(shè)置自己的session處理機制 session_set_save_handler('_drupal_session_open',?'_drupal_session_close',?'_drupal_session_read',?'_drupal_session_write',?'_drupal_session_destroy',?'_drupal_session_garbage_collection'); $GLOBALS['lazy_session']?=?TRUE; $user?=?drupal_anonymous_user(); #游客用session_id(drupal_random_key());生成session_id?如果針對登錄用戶則用 #drupal_session_regenerate()生成session_id前者比后者效率高,但安全性略差。 #如果是https協(xié)議即使是游客也開啟cookie session_id(drupal_random_key()); if?($is_https?&&?variable_get('https',?FALSE))?{$insecure_session_name?=?substr(session_name(),?1);$session_id?=?drupal_random_key();$_COOKIE[$insecure_session_name]?=?$session_id; }

    case?DRUPAL_BOOTSTRAP_PAGE_HEADER:_drupal_bootstrap_page_header();break;

    6.引入鉤子hook_boot 及輸出頭部

    ?case?DRUPAL_BOOTSTRAP_LANGUAGE:drupal_language_initialize();break;

    7.初始化多語言加載鉤子bootstrap_invoke_all('language_init');

    case?DRUPAL_BOOTSTRAP_FULL:require_once?DRUPAL_ROOT?.?'/includes/common.inc';_drupal_bootstrap_full();break;

    8.完整初始化?

    ? 引入路徑(path)文件,引入模板(theme)文件,引入分頁(pager)文件,引入菜單(menu)文件,引入分頁(pager)文件等引入鉤子module_invoke_all('init');

    hook_init鉤子主要用于模塊引入自己的css文件

    function?system_init()?{$path?=?drupal_get_path('module',?'system');//?Add?the?CSS?for?this?module.?These?aren't?in?system.info,?because?they//?need?to?be?in?the?CSS_SYSTEM?group?rather?than?the?CSS_DEFAULT?group.drupal_add_css($path?.?'/system.base.css',?array('group'?=>?CSS_SYSTEM,?'every_page'?=>?TRUE));


    轉(zhuǎn)載于:https://my.oschina.net/u/1176727/blog/306902

    總結(jié)

    以上是生活随笔為你收集整理的drupal启动过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 尤物在线视频观看 | 久久国产欧美日韩精品 | 亚洲 欧美 变态 另类 综合 | 懂色av一区二区三区蜜臀 | 午夜精品福利视频 | 午夜精品一区二区三 | 国产日韩欧美精品一区二区 | 国产中文字幕一区二区 | 国产女主播福利 | 亚洲h| 亚洲国产欧美在线观看 | 欧美性猛交富婆 | 久av在线 | 成人av电影在线观看 | 96久久精品 | 蜜臀久久精品久久久用户群体 | 91视频在线免费 | 中文字幕三级视频 | avtt香蕉久久 | 国产伦精品一区二区三区精品 | 亚洲综合在 | 青草青在线视频 | 国产精品人人做人人爽人人添 | 在线免费观看黄色小视频 | 神马久久久久久久久久 | 女人舌吻男人茎视频 | 三级视频在线观看 | 日本黄区免费视频观看 | 91精品国自产在线偷拍蜜桃 | 7777久久亚洲中文字幕 | 午夜丁香婷婷 | 中文字幕日韩人妻在线视频 | 日韩社区| 日本电影一区二区三区 | 欧美日韩午夜爽爽 | 日韩精品成人免费观看视频 | 欧美精品电影一区二区 | 激情三区| 福利社av| 香港日本韩国三级网站 | 亚洲欧美国产日韩精品 | 成年人在线观看av | 男女插插视频 | 亚洲乱亚洲乱 | 亚洲爆爽 | 丰满秘书被猛烈进入高清播放在 | 亚洲激情在线观看 | 青青国产在线观看 | 91精品人妻一区二区三区果冻 | 日本国产在线播放 | 老师张开让我了一夜av | 99热精品久久 | 天天做天天射 | 亚洲综合色成人 | 性高湖久久久久久久久aaaaa | 成人公开视频 | 超碰66| 中文人妻一区二区三区 | av在线资源 | 日本一区二区三区在线观看 | 法国空姐电影在线观看 | 日韩有码第一页 | 国产精品99久久久 | 精品欧美视频 | 麻豆视频精品 | 国产精品久久久久久久久借妻 | 欧美视频一区二区三区四区在线观看 | 成人黄色片在线观看 | 欧美亚洲国产另类 | 中文字幕123区 | 最新成人在线 | 欧美午夜精品久久久 | 一级片免费观看视频 | 好吊妞操 | 相亲对象是问题学生动漫免费观看 | 欧美性tv| 制服丝袜国产在线 | 国产99免费 | 最新国产在线视频 | 日韩精品在线观看一区 | 亚洲色图偷拍视频 | 国产在线播放一区二区三区 | 成人在线综合网 | 香蕉爱视频 | 国产va视频| 成人欧美一区二区三区黑人冫 | 天堂网视频在线 | 亚洲天堂一级片 | 涩涩视频网站 | 成人 黄 色 免费播放 | 亚洲中国色老太 | 国产日韩在线免费观看 | 伊人国产在线视频 | 色爱AV综合网国产精品 | 伊人网视频在线 | 在线婷婷| 蜜桃久久久久久久 | 91看大片 | 国产日韩欧美精品一区 |