進行 Drupal 開發時有許多模塊和工具可供使用,其中最經常使用的兩項即是 Devel 及 Drupal for Firebug。本文和《Drupal經常使用開發工具(二)——Drupal for Firebug》將分別對它們進行介紹。 html
與本文相關的不少內容能夠經過 Devel Demo 模塊進行查看,若有糾正或補充能夠在官方問題隊列中發帖,也能夠在本文後進行留言。 數據庫
Devel 集合了多個開發輔助模塊,除了做爲核心的 Devel 模塊外,Devel 模塊包中還包含了其它子模塊,如 Devel Generate 可用於生成測試內容、術語和用戶等。(注意Theme Developer 模塊已經從Devel 模塊中分離出來成爲單獨的模塊) 瀏覽器
Devel 的子模塊並不在本文中進行介紹,若有興趣可到項目頁面閱讀相關的說明文檔。 函數
dpm() 工具
使用drupal_set_message() 函數將變量顯示在頁面的 ‘message’ 區域。使用此函數,能夠變量進行跟蹤。由於Devel模塊如今使用Krumo 對變量進行顯示,因此輸出結果會變得複雜一些。 開發工具
dpm($input, $name = NULL); 測試
若是由於某些緣由,你沒有使用Krumo,可使用 $name 參數來對不一樣的 dpm() 調用進行區分。 spa
dvm() debug
使用drupal_set_message() 函數將var_dump() 函數處理變量的結果顯示在 ‘message’ 位置。這個函數的輸出比基於Krumo 的dpmt() 函數的結果要難讀一些,但使用它能夠很方便的進行復制粘貼。 調試
dvm($input, $name = NULL);
dpr()
將變量以易讀的格式顯示在頁面頭部(不使用Krumo),對於沒有 $message 變量的主題會是一個很是好的選擇。
dpr($input, $return = FALSE, $name = NULL);
將 $return 參數設置爲TRUE,則將顯示數據以函數結果返回而不進行打印。
dvr()
與dpr() 基本相同,不過輸出結果通過 var_dump() 函數得出。
kpr()
相似dpm(),不過是在頁面上方顯示Krumo形式的輸出結果,適用於頁面模板中沒有 $message 變量的狀況。
dargs()
輸出傳入當前路由函數的參數值。如下圖爲例,參數分別爲 ‘foo’和’42’。當你不肯定Drupal路由函數當前接收到的參數是什麼時,可使用這個函數進行確認。(譯註:其實就是將 Drupal 內核 args() 函數的結果顯示到頁面上)
dargs();
dd()
將變量記錄到臨時目錄下名爲drupal_debug.txt 的記錄文件中,此函數的全部輸出會追加到記錄文件後,以方便開發者跟蹤查看變量的變化狀況。
dd($data, $label = NULL)
ddebug_backtrace()
打印函數調用堆棧
db_queryd()
此函數是 db_query() 的調試版本,它能將數據庫查詢結果或錯誤信息顯示到瀏覽器。當想要監控一些數據庫請求信息,但又不但願列出當前頁面所進行的全部數據庫請求會頗有用。
db_queryd($query, $args = array());