آموزش PHP > مرجع توابع مدیریت خطا در PHP > تابع ( ) debug_backtrace
تابع ( ) debug_backtrace :
تابع ( ) debug_backtrace ، یک گزارش کامل از نحوه اجرای کدها و عملکرد توابع مختلف
موجود در کد PHP را به صورت یک آرایه بر می گرداند .
به وسیله این اطلاعات می توانید درک بهتری از ساختار کد و برنامه خود داشته باشید .
اطلاعاتی که در آرایه گزارشی این تابع ارائه می شود ، معمولا شامل موارد زیر هستند
:
|
توضیح
|
|
نام تابعی که گزارش درباره آن است را مشخص می کند .
|
|
این پارامتر شماره خط کدی که اشکال یا bug خاصی در آن وجود دارد را مشخص می کند .
|
|
نام فایلی که گزارش درباره آن است را مشخص می کند .
|
|
نام تابعی که گزارش درباره آن است را مشخص می کند .
|
|
نام کلاسی که گزارش درباره آن است را مشخص می کند .
|
|
این پارامتر نام کلاسی که تابع مورد نظر در آن قرار دارد را باز می گرداند .
|
اگر این پارامتر درون یک تابع باشد ، لیست آرگومان های آن را بر می گرداند .
اما اگر درون یک فایل باشد ، لیست نام فایل های موجود را بر می گرداند .
|
این پارامتر نیز نوع تابع را بر می گرداند .
سه حالت برای این پارامتر ممکن است :
- Method Call
- Static Method Call
- Function Call
|
شکل کلی استفاده از این تابع به صورت زیر است :
|
syntax
|
debug_backtrace( ) ;
|
مثال عملی :
مثال : در مثال عملی زیر ، درون کد PHP خود 3 تابع با عملکردهای متفاوتی
تعریف شده اند .
در پایان دستور PHP ، توسط تابع ( ) debug_backtrace ، شرح کاملی از عملکرد و پارامترهای
تابع های موجود در کد را به صورت آرایه نمایش داده ایم :
|
مثال
|
<?php
function one($str1, $str2)
{
two("Glenn", "Quagmire");
}
function two($str1, $str2)
{
three("Cleveland", "Brown");
}
function three($str1, $str2)
{
print_r(debug_backtrace());
}
one("Peter", "Griffin");
?>
|
|
خروجی
|
Array
(
[0] => Array
(
[file] => C:\webfolder\test.php
[line] => 7
[function] => three
[args] => Array
(
[0] => Cleveland
[1] => Brown
)
)
[1] => Array
(
[file] => C:\webfolder\test.php
[line] => 3
[function] => two
[args] => Array
(
[0] => Glenn
[1] => Quagmire
)
)
[2] => Array
(
[file] => C:\webfolder\test.php
[line] => 14
[function] => one
[args] => Array
(
[0] => Peter
[1] => Griffin
)
)
)
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه :