目錄結構
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階段,從數據庫中查出回調函數並執行,將數據放到數組中,以便下階段處理
三.主題化數據
根據流程二的數組,和網站啟用的主題,對數據進行處理,並展示