debug_backtrace() ফাংশনটি একটি ব্যাকট্রেস জেনারেট করে। এটি একটি অ্যাসোসিয়েটিভ অ্যারে রিটার্ন করে। সম্ভাব্য রিটার্ন করা এলিমেন্টها নিচে দেওয়া হলো −
| নাম | টাইপ | বিবরণ |
|---|---|---|
| function | string | বর্তমান ফাংশন নাম। |
| line | integer | বর্তমান লাইন নম্বর। |
| file | string | বর্তমান ফাইল নাম। |
| class | string | বর্তমান ক্লাস নাম। |
| object | string | বর্তমান অবজেক্ট। |
| type | string | বর্তমান কল টাইপ। মেথড কল হলে "->" রিটার্ন হয়। স্ট্যাটিক মেথড কল হলে "::" রিটার্ন হয়। ফাংশন কল হলে কিছুই রিটার্ন হয় না। |
| arg | array | ফাংশনের ভিতরে থাকলে, এটি ফাংশনের আর্গুমেন্টগুলো লিস্ট করে। ইনক্লুডেড ফাইলের ভিতরে থাকলে, এটি ইনক্লুডেড ফাইল নাম(গুলি) লিস্ট করে। |
সিনট্যাক্স
debug_backtrace(options, limit)
প্যারামিটার
options − নিচের অপশনগুলির জন্য একটি বিটমাস্ক −
- DEBUG_BACKTRACE_PROVIDE_OBJECT: "object" ইনডেক্স পপুলেট করা হবে কিনা
- DEBUG_BACKTRACE_IGNORE_ARGS: "args" ইনডেক্স এবং সমস্ত ফাংশন/মেথড আর্গুমেন্ট বাদ দেওয়া হবে কিনা, মেমরি বাঁচাতে।
limit − প্রিন্ট হওয়া স্ট্যাক ফ্রেমের সংখ্যা সীমাবদ্ধ করে।
রিটার্ন
debug_backtrace() ফাংশনটি একটি অ্যাসোসিয়েটিভ অ্যারে রিটার্ন করে। সম্ভাব্য রিটার্ন করা এলিমেন্টগুলো উপরে উল্লেখ করা হয়েছে।
উদাহরণ
নিচে একটি উদাহরণ দেওয়া হলো −
<?php
function display($str) {
echo "Hi: $str";
var_dump(debug_backtrace());
}
display('hello');
?>
আউটপুট
Hi: helloarray(1) {
[0]=>
array(4) {
["file"]=> string(36) "/var/www/tutorialspoint/php/test.php"
["line"]=> int(8)
["function"]=> string(8) "printStr"
["args"]=> array(1) {
[0]=> &string(6) "hello"
}
}
}