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

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

  與本文相關的很多內容可以通過 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() 調用進行區分。

Devel dpm() 函數使用示例

 

dvm()

  使用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() 函數使用示例

原文標題:《Drupal常用開發工具(一)——Devel模塊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章