w3resource

PHP error handling functions - debug_backtrace()

Introduction

The debug_backtrace() function is used to generate a PHP backtrace.

Syntax:

debug_backtrace(provide_object )

Parameters:

provide_object: Specifies whether the object index is to be populated or not. Type of provide_object is boolean.

Return Values:

debug_backtrace() function returns an associative array. Here is a list of the possible returned elements :

Name Type Description
function string Name of the current function.
line integer The Current line number.
file string The Current file name.
class string The Current class name.
object object The Current object name.
type string Specifies the current call type.
For a method call. -> is returned.
For a static method call. :: is returned.
For a function call. nothing is returned.
args array If inside a function. this lists the functions arguments.
If inside an included file. this lists the included file name(s).

Example:

<?php
function w3r($str)
{
    echo "We are learning:".$str."<br />";
    var_dump(debug_backtrace());
}
w3r('php');
?>

The above code displays this output:

We are learning:php
array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(92) "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\debug-backtrace-example.php"
    ["line"]=>
    int(8)
    ["function"]=>
    string(3) "w3r"
    ["args"]=>
    array(1) {
      [0]=>
      &string(3) "php"
    }
  }
}

Previous: using-die()
Next: debug_print_backtrace()



PHP: Tips of the Day

PHP: How to convert string to boolean?

Strings always evaluate to boolean true unless they have a value that's considered "empty" by PHP (taken from the documentation for empty):

  1. "" (an empty string);
  2. "0" (0 as a string)

If you need to set a boolean based on the text value of a string, then you'll need to check for the presence or otherwise of that value.

$test_mode_mail = $string === 'true'? true: false;

EDIT: the above code is intended for clarity of understanding. In actual use the following code may be more appropriate:

$test_mode_mail = ($string === 'true');

or maybe use of the filter_var function may cover more boolean values:

filter_var($string, FILTER_VALIDATE_BOOLEAN);

filter_var covers a whole range of values, including the truthy values "true", "1", "yes" and "on".

Ref : https://bit.ly/33SQ3eP