debug_backtrace関数
2162 ワード
簡単に述べる
phpにdebugという関数があることはよく知られているかもしれません.backtraceは、関数の呼び出し情報を追跡することができ、デバッガと言える.
はい、復習してみましょう.
ちなみに似たような関数:debug_print_backtraceは、それとは異なり、遡及情報を直接印刷します.
戻ってデバグを見てbacktraceは、名前から見ると用途が明確で、開発者にデバッグに使わせたものです.ある日、返されるfileパラメータに気づき、fileは関数やメソッドの呼び出しスクリプトソース(どのスクリプトファイルで使用されているか)を表します.現在のスクリプトが呼び出しソースを知っている場合、ファイル権限管理、動的ロードなど、このソースによって面白い機能を実現できるかどうか、ふと考えました.
phpにdebugという関数があることはよく知られているかもしれません.backtraceは、関数の呼び出し情報を追跡することができ、デバッガと言える.
はい、復習してみましょう.
one();
function one() {
two();
}
function two() {
three();
}
function three() {
print_r( debug_backtrace() );
}
/*
:
Array
(
[0] => Array
(
[file] => D:\apmserv\www\htdocs\test\debug\index.php
[line] => 10
[function] => three
[args] => Array
(
)
)
[1] => Array
(
[file] => D:\apmserv\www\htdocs\test\debug\index.php
[line] => 6
[function] => two
[args] => Array
(
)
)
[2] => Array
(
[file] => D:\apmserv\www\htdocs\test\debug\index.php
[line] => 3
[function] => one
[args] => Array
(
)
)
)
*/
ちなみに似たような関数:debug_print_backtraceは、それとは異なり、遡及情報を直接印刷します.
戻ってデバグを見てbacktraceは、名前から見ると用途が明確で、開発者にデバッグに使わせたものです.ある日、返されるfileパラメータに気づき、fileは関数やメソッドの呼び出しスクリプトソース(どのスクリプトファイルで使用されているか)を表します.現在のスクリプトが呼び出しソースを知っている場合、ファイル権限管理、動的ロードなど、このソースによって面白い機能を実現できるかどうか、ふと考えました.