php best debugging techniques code example
Example 1: php best debugging functions
<?php
$myVar = "hello world!";
var_dump($myVar);
print_r($myVar);
$allVars = get_defined_vars();
print_r($allVars);
debug_zval_dump($allVars);
function sayHello($hello) {
echo $hello;
debug_print_backtrace();
}
sayHello($myVar);
?>
Example 2: php best debugging functions
I am using two ways to debug code
one is print the data and die the function in specific point.
print_r($data);die;
second one is writing log file in specific point in code.
function write_log($log_msg)
{
$log_filename = "logs";
if (!file_exists($log_filename))
{
mkdir($log_filename, 0777, true);
}
$log_file_data = $log_filename.'/debug.log';
file_put_contents($log_file_data, $log_msg . "\n", FILE_APPEND);
}
write_log("Writing Log");
$a = array(
array('id' => '1','date' => '09-04-2018','length' => '10'),
array('id' => '2','date' => '09-04-2018','length' => '20'),
array('id' => '1','date' => '10-04-2018','length' => '11')
);
write_log(print_r($a,1));
Example 3: php best debugging functions
I find it very useful to print out to the browsers console instead of just var_dumping:
function console_log( $data ){
echo '<script>';
echo 'console.log('. json_encode( $data ) .')';
echo '</script>';
}
Usage:
$myvar = array(1,2,3);
console_log( $myvar );
Example 4: php best debugging functions
A good example of data output to the console via <script> tags, I myself used this first, but he broke the captcha job, because <script> tags were inserted into the base64 code of the captcha picture. Then I began to display logs in the headers with such a function (it may help someone else, in a similar situation):
<?php
function header_log($data){
$bt = debug_backtrace();
$caller = array_shift($bt);
$line = $caller['line'];
$file = array_pop(explode('/', $caller['file']));
header('log_'.$file.'_'.$caller['line'].': '.json_encode($data));
}
?>
Usage:
$myvar = array(1,2,3);
header_log( $myvar ); // in headers we see: log_filename_rownumber: [1,2,3]