
內容簡介
Debug Toolkit 讓除錯代碼變得更輕鬆且回味無窮,它提供了交互式和有用的工具:
更好的 PHP 錯誤介面(來自Whoops)
更好的變數檢查 - 無需使用 var_dump、print_r 或 X-debug
回溯程序執行順序的交互式方式
來自 Whoops 的更好的 PHP 錯誤介面
內建的 PHP 錯誤容器非常基本,並且不像它應有的那麼有用。而且,它實在不好看,你不同意嗎?
Whoops 為你提供了一個很酷的介面,能幫助你進行交互,看起來也很漂亮。 它還有一些功能:
提供錯誤消息並提供到 Google、DuckDuckGo 和 Stack Overflow 的搜索鏈接。
顯示錯誤發生的實際代碼。
提供交互式調用堆棧。 點擊每個調用堆棧,在查看器面板中顯示實際代碼。
環境和詳細資訊,包括 GET Data、POST Data、Files、Cookie、Session、 Server/Request Data、環境變數和註冊處理程序。
在此影片中觀看這些工具的操作:
更好的變數檢查
雖然 X-debug 很強大,但設置和執行可能很困難,因此通常需要在瀏覽器中輸出變數的數據。 但是,PHP 的內建顯示 var_dump 和 print_r 的功能非常基本。
這個外掛包含了兩個非常流行的變數傾印工具:
Symfony 的 VarDumper
Kint - 現代而強大的 PHP 調試助手
VarDumper 提供了一個簡單容器,用於顯示您放置的位置。
另一方面,Kint 提供了一個更強大的界面,可以提供更多信息,例如打印傳遞給它的表達式、數據類型、內存大小和值。
為了使它更加容易,以下實用程序函數可供您在代碼中使用:
用於檢查變數值的可用函數
讓我們探索通過此外掛可用的函數。 我們將使用變數檢查器來傾印 global $post。
註:您可以傳遞任何變數或返回值的函數。
傾印給定的變數:
global $post;
// VarDumper
vdump( $post );
// Kint
dump( $post );
傾印給定的變數,然後退出程序的執行:
global $post;
// VarDumper
vdump_and_die( $post );
// Kint
dump_and_die( $post );
此外,如果您喜歡使用較短的函數名稱,還有簡寫函數可供您使用:
vd() 是 vdump() 的簡寫
vdd() 和 vdd() 是 vdump_and_die() 的簡寫
d() 是 dump() 的簡寫
dd() 和 ddd() 是 dump_and_die() 的簡寫
追踪調用堆棧
在調試時,有時需要查看導致程序某個點的函數調用順序。 PHP 提供了一個回溯,可以從呼叫函數的點回溯程序的執行順序。
為了讓回溯更容易,此外掛為你提供了
外掛標籤
開發者團隊
原文外掛簡介
Debug Toolkit makes debugging your code easier and more enjoyable. It provides you with interactive and helpful tools:
Better PHP error interface from (Whoops)
Better variable inspection – no need to use var_dump, print_r, or X-debug
An interactive way to back trace the program’s execution order
Better PHP Error Interface from Whoops
The built-in PHP error container is basic and not as helpful as it could be. On top of that, it’s rather ugly. Wouldn’t you agree?
Whoops gives you a cool interface that is helpful, interactive, and quite nice to look at. Some features:
Provides the error message and links to search Google, DuckDuckGo, and Stack Overflow.
Shows the actual code where the error occurred.
Provides an interactive call stack. Click each and the actual code appears in the viewer panel.
Environment and details including GET Data, POST Data, Files, Cookie, Session, Server/Request Data, Environment Variables, and Registered Handlers.
See the tools in action in this video
Better Variable Inspection
Though X-debug is powerful, it can be difficult to set up and run. For that reason, it’s common to dump or print out the variable to browser. But the built-in display for the PHP var_dump and print_r is basic.
This plugin includes both two very popular variable dumper tools:
VarDumper from Symfony
Kint – a modern and powerful PHP debugging helper
VarDumper provides a simple container that displays where you place it.
On the other hand, Kint provides a more powerful interface that gives you more information such as printing out the expression that was passed into it, the data type, memory size, and the value.
To make it even easier, the following utility functions are available for you to use in your code:
Available Functions for Inspecting Variable Values
Let’s explore the functions that are available for you through this plugin. We’ll use the variable inspectors to dump global $post.
Note: You can pass in any variable or function that returns a value.
Dumps the given variable(s):
global $post;
// VarDumper
vdump( $post );
// Kint
dump( $post );
Dumps the given variable(s) and then exits the program’s execution:
global $post;
// VarDumper
vdump_and_die( $post );
// Kint
dump_and_die( $post );
In addition, there are alias (shorthand) functions available for you if you prefer shorter function names:
vd() is an alias for vdump()
vdd() and vdd() are aliases for vdump_and_die()
d() is an alias for dump()
dd() and ddd() are aliases for dump_and_die()
Tracing Call Stack
When debugging, there are times when you need to see the order in which functions were called that lead to a certain point in the program. PHP offers a backtrace that traces back the execution order from the point when the function is invoked.
To make backtracing easier, this plugin provides you with a trace() function and combines it with the variable inspect functions.
For example, if you wanted to trace the call stack to the start of the loop in your theme’s functions.php file, you could use this code:
add_action( 'loop_start', function() {
trace();
} );
Available Trace Functions
Place these functions at the point where you want to trace the call stack.
trace();
trace_vdump(); – Combines trace() and vdump()
trace_dump(); – Combines trace() and dump()
trace_vdump_and_die(); – Combines trace() and vdump_and_die()
trace_dump_and_die(); – Combines trace() and dump_and_die()
In addition, there are alias (shorthand) functions available for you if you prefer shorter function names:
tracevd(); – Combines trace() and vd()
traced(); – Combines trace() and d()
tracevdd(); – Combines trace() and vdd()
tracedd(); – Combines trace() and dd()
tracevddd(); – Combines trace() and vddd()
traceddd(); – Combines trace() and ddd()
Admin Bar
“DEBUG ACTIVE” indicator displays in the WordPress admin bar to alert you when the plugin is active.
