You are viewing revision #1 of this wiki article.
This is the latest version of this article.
This tutorial is explained following "basic" application structure.
Create functions.php inside config folder and place this code:
<?php
/**
* Debug function
* d($var);
*/
function d($var,$caller=null)
{
if(!isset($caller)){
$caller = array_shift(debug_backtrace(1));
}
echo '<code>File: '.$caller['file'].' / Line: '.$caller['line'].'</code>';
echo '<pre>';
yii\helpers\VarDumper::dump($var, 10, true);
echo '</pre>';
}
/**
* Debug function with die() after
* dd($var);
*/
function dd($var)
{
$caller = array_shift(debug_backtrace(1));
d($var,$caller);
die();
}
Open config/web.php file and include functions.php :
<?php
/* Include debug functions */
require_once(__DIR__.'/functions.php');
$params = require(__DIR__ . '/params.php');
$database = require(__DIR__ . '/database.php');
...
Now you can use debug functions like this:
d($test);
dd($var);
These debug functions will display what variables contain in readable manner, as well as display where the debug call has been called (in which file and on what line of file).
Php have debugger
Isn't better use xdebug?
Fast var dumps
This is for people who don't use xdebug or want to get var dumps fast.
Here is an issue about it:
https://github.com/yiisoft/yii2/issues/7352
Use xdebug
And if you use IDE, you may to create live template. In PhpStorm I've created var_dump Live Template.
I just typing vd, then tab. Pretty useful
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.