進(jìn)行 Drupal 開發(fā)時有許多模塊和工具可供使用,其中最常用的兩項(xiàng)便是 Devel 及 Drupal for Firebug。本文和《Drupal常用開發(fā)工具(二)——Drupal for Firebug》將分別對它們進(jìn)行介紹。 與本文相關(guān)的很多內(nèi)容可以通過 Devel Demo 模塊進(jìn)行查看,如有糾正或補(bǔ)充可以在官方問題隊(duì)列中發(fā)帖,也可以在本文后進(jìn)行留言。
Devel模塊Devel 集合了多個開發(fā)輔助模塊,除了作為核心的 Devel 模塊外,Devel 模塊包中還包含了其它子模塊,如 Devel Generate 可用于生成測試內(nèi)容、術(shù)語和用戶等。(注意Theme Developer 模塊已經(jīng)從Devel 模塊中分離出來成為單獨(dú)的模塊) Devel 的子模塊并不在本文中進(jìn)行介紹,如有興趣可到項(xiàng)目頁面閱讀相關(guān)的說明文檔。
dpm() 使用drupal_set_message() 函數(shù)將變量顯示在頁面的 ‘message’ 區(qū)域。使用此函數(shù),可以變量進(jìn)行跟蹤。因?yàn)镈evel模塊現(xiàn)在使用Krumo 對變量進(jìn)行顯示,所以輸出結(jié)果會變得復(fù)雜一些。
如果因?yàn)槟承┰?,你沒有使用Krumo,可以使用 $name 參數(shù)來對不同的 dpm() 調(diào)用進(jìn)行區(qū)分。
dvm() 使用drupal_set_message() 函數(shù)將var_dump() 函數(shù)處理變量的結(jié)果顯示在 ‘message’ 位置。這個函數(shù)的輸出比基于Krumo 的dpmt() 函數(shù)的結(jié)果要難讀一些,但使用它可以很方便的進(jìn)行復(fù)制粘貼。
dpr() 將變量以易讀的格式顯示在頁面頭部(不使用Krumo),對于沒有 $message 變量的主題會是一個非常好的選擇。
將 $return 參數(shù)設(shè)置為TRUE,則將顯示數(shù)據(jù)以函數(shù)結(jié)果返回而不進(jìn)行打印。
dvr() 與dpr() 基本相同,不過輸出結(jié)果經(jīng)過 var_dump() 函數(shù)得出。
kpr() 類似dpm(),不過是在頁面上方顯示Krumo形式的輸出結(jié)果,適用于頁面模板中沒有 $message 變量的情況。
dargs() 輸出傳入當(dāng)前路由函數(shù)的參數(shù)值。以下圖為例,參數(shù)分別為 ‘foo’和’42’。當(dāng)你不確定Drupal路由函數(shù)當(dāng)前接收到的參數(shù)是什么時,可以使用這個函數(shù)進(jìn)行確認(rèn)。(譯注:其實(shí)就是將 Drupal 內(nèi)核 args() 函數(shù)的結(jié)果顯示到頁面上)
dd() 將變量記錄到臨時目錄下名為drupal_debug.txt 的記錄文件中,此函數(shù)的所有輸出會追加到記錄文件后,以方便開發(fā)者跟蹤查看變量的變化情況。
ddebug_backtrace() 打印函數(shù)調(diào)用堆棧
db_queryd() 此函數(shù)是 db_query() 的調(diào)試版本,它能將數(shù)據(jù)庫查詢結(jié)果或錯誤信息顯示到瀏覽器。當(dāng)想要監(jiān)控一些數(shù)據(jù)庫請求信息,但又不希望列出當(dāng)前頁面所進(jìn)行的所有數(shù)據(jù)庫請求會很有用。
|
|