Drupal經常使用開發工具(一)——Devel模塊

  進行 Drupal 開發時有許多模塊和工具可供使用,其中最經常使用的兩項即是 Devel 及 Drupal for Firebug。本文和《Drupal經常使用開發工具(二)——Drupal for Firebug》將分別對它們進行介紹。 html

  與本文相關的不少內容能夠經過 Devel Demo 模塊進行查看,若有糾正或補充能夠在官方問題隊列中發帖,也能夠在本文後進行留言。 數據庫

 

Devel模塊

  Devel 集合了多個開發輔助模塊,除了做爲核心的 Devel 模塊外,Devel 模塊包中還包含了其它子模塊,如 Devel Generate 可用於生成測試內容、術語和用戶等。(注意Theme Developer 模塊已經從Devel 模塊中分離出來成爲單獨的模塊) 瀏覽器

  Devel 的子模塊並不在本文中進行介紹,若有興趣可到項目頁面閱讀相關的說明文檔。 函數

 

dpm() 工具

  使用drupal_set_message() 函數將變量顯示在頁面的 ‘message’ 區域。使用此函數,能夠變量進行跟蹤。由於Devel模塊如今使用Krumo 對變量進行顯示,因此輸出結果會變得複雜一些。 開發工具

dpm($input, $name = NULL); 測試

  若是由於某些緣由,你沒有使用Krumo,可使用 $name 參數來對不一樣的 dpm() 調用進行區分。 spa

Devel dpm() 函數使用示例

 

dvm() debug

  使用drupal_set_message() 函數將var_dump() 函數處理變量的結果顯示在 ‘message’ 位置。這個函數的輸出比基於Krumo 的dpmt() 函數的結果要難讀一些,但使用它能夠很方便的進行復制粘貼。 調試

dvm($input, $name = NULL);

Devel dvm() 函數使用示例

 

dpr()

  將變量以易讀的格式顯示在頁面頭部(不使用Krumo),對於沒有 $message 變量的主題會是一個很是好的選擇。

dpr($input, $return = FALSE, $name = NULL);

  將 $return 參數設置爲TRUE,則將顯示數據以函數結果返回而不進行打印。

Devel dvm() 函數使用示例

 

dvr()

與dpr() 基本相同,不過輸出結果通過 var_dump() 函數得出。

Devel dvr() 函數使用示例

 

kpr()

相似dpm(),不過是在頁面上方顯示Krumo形式的輸出結果,適用於頁面模板中沒有 $message 變量的狀況。

Devel kpr() 函數使用示例

 

dargs()

  輸出傳入當前路由函數的參數值。如下圖爲例,參數分別爲 ‘foo’和’42’。當你不肯定Drupal路由函數當前接收到的參數是什麼時,可使用這個函數進行確認。(譯註:其實就是將 Drupal 內核 args() 函數的結果顯示到頁面上)

dargs();

Devel dargs() 函數使用示例

 

dd()

  將變量記錄到臨時目錄下名爲drupal_debug.txt 的記錄文件中,此函數的全部輸出會追加到記錄文件後,以方便開發者跟蹤查看變量的變化狀況。

  • 若是使用Mac OS X,可使用Logging Console對記錄文件中的內容進行查看。
  • 若是使用Linux,則可使用 ‘tail –f drupal_debug.txt’ 命令查看被記錄的數據。

 

dd($data, $label = NULL)

 

ddebug_backtrace()

打印函數調用堆棧

Devel ddebug_backtrace() 函數使用示例

 

db_queryd()

  此函數是 db_query() 的調試版本,它能將數據庫查詢結果或錯誤信息顯示到瀏覽器。當想要監控一些數據庫請求信息,但又不但願列出當前頁面所進行的全部數據庫請求會頗有用。

db_queryd($query, $args = array());

Devel db_queryd() 函數使用示例

相關文章
相關標籤/搜索