Debugging tools are available both for PHP and for Smarty code.
PHP code debugging
-
wa_dump()
Outputs values to browser and terminates execution of PHP code.
-
wa_dumpc()
Outputs values to browser without terminating execution of PHP code.
-
waLog::dump()
Saves values to a log file.
-
waLog::log()
Saves a value to a log file by casting it to
stringtype.
Debugging of Smarty templates code
-
{debug}
Opens Smarty debugging console.
-
{wa_tpl_vars}
Shows the list of template variables available in a file.
-
{wa_dump(...)}, {...|wa_dump}
Outputs values to browser and terminates execution of template code.
-
{wa_dumpc(...)}, {...|wa_dumpc}
Outputs values to browser without terminating execution of template code.
function wa_dump ($var_1 [, $var_2, ..., $var_n])
Outputs to browser all passed parameters’ values and terminates the execution of PHP code. You can pass as many parameters as you need.
Parameters
-
$var_1, $var_2, ..., $var_n
Values that must be output to browser.
Example
$var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); wa_dump($var_1, $var_2); wa_dump($var_3);
Result
'foo' 42 // The value of $var_3 will not be output because the execution of PHP code was terminated by previous call of wa_dump().
function wa_dumpс ($var_1 [, $var_2, ..., $var_n])
Outputs to browser the values of all passed parameters without terminating the execution of PHP code. You can pass as many parameters as you need.
Parameters
-
$var_1, $var_2, ..., $var_n
Values that must be output to browser.
Example
$var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); wa_dumpc($var_1, $var_2); wa_dumpc($var_3);
Result
'foo'
42
// Value of $var_3 has been output because the execution of PHP code is NOT terminated by calls of wa_dumpc().
array(
0 => 1,
1 => 2,
2 => 3,
)
public static function waLog::dump ($var_1 [, $var_2, ..., $var_n, $file = 'dump.log'])
Saves values to a log file. You can pass as many parameters as you need. The last parameter can be a file name if you need to use a name different from the default one dump.log.
It is convenient to view the contents of log files using the “Logs” app.
Parameters
-
$var_1, $var_2, ..., $var_n
Values that must be saved to a log file.
-
$file
Log file name. If omitted, default file name
dump.logis used.
Example
$var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); waLog::dump($var_1, $var_2, $var_3);
Result
// Values will be saved to log file wa-log/dump.log.
'foo'
42
array(
0 => 1,
1 => 2,
2 => 3,
)
public static function waLog::log ($var, $file = 'error.log')
Saves a value to a log file by casting it to string type.
It is convenient to view the contents of log files using the “Logs” app.
Parameters
-
$var
Value that must be saved to a log file.
-
$file
Log file name. If omitted, default file name
error.logis used.
Example
$var_1 = 'foo'; $var_2 = 42; waLog::log($var_1); waLog::log($var_2);
Result
// Values will be saved to file wa-log/error.log, // each value for one call of waLog::log(). 'foo' 42
Example
// Saving of several values to a log file
$var_1 = 'foo';
$var_2 = 42;
$var_3 = array(1, 2, 3);
waLog::log(json_encode(compact('var_1', 'var_2', 'var_3')));
Result
// Values will be saved to file wa-log/error.log.
{"var_1":"foo","var_2":42,"var_3":[1,2,3]}
{debug}
Opens Smarty debugging console.
Example
{debug}
{wa_tpl_vars}
Shows the list of template variables available in a file.
Example
{wa_tpl_vars}
Result
array(
'SCRIPT_NAME' => '/index.php',
'wa_url' => '/',
'wa_static_url' => waCdn object {
*cdn_list => array()
*url => '/'
},
'wa_backend_url' => '/webasyst/',
'wa_app' => 'myapp',
'wa_app_url' => '/webasyst/myapp/',
'wa_app_static_url' => waCdn object {
*cdn_list => array()
*url => '/webasyst/myapp/'
},
'wa_real_app_static_url' => '/wa-apps/myapp/',
'wa' => waViewHelper object { ** skipped ** },
'smarty' => NULL,
)
{wa_dump($var_1 [, $var_2, ..., $var_n])}
{$var|wa_dump}
Outputs values to browser and terminates execution of template code.
Example
{$var_1 = 'foo'}
{$var_2 = 42}
// You can output several values to once.
{wa_dump($var_1, $var_2)}
Result
'foo' 42
Example
{$var_1 = 'foo'}
{wa_dump($var_1)}
{wa_dump($var_2)}
{$var_2 = 42}
Result
'foo' // The value of $var_2 will not be output because the execution of template code is terminated by previous call of wa_dump().
Example
{$var = 'foo'}
// You can output only one value when using the function as a modifier.
{$var|wa_dump}
Result
'foo'
{wa_dumpc($var_1 [, $var_2, ..., $var_n])}
{$var|wa_dumpc}
Outputs values to browser without terminating execution of template code.
Example
{$var_1 = 'foo'}
{$var_2 = 42}
// You can output several values to once.
{wa_dumpc($var_1, $var_2)}
Result
'foo' 42
Example
{$var_1 = 'foo'}
{wa_dumpc($var_1)}
{$var_2 = 42}
{wa_dumpc($var_2)}
Result
'foo' // You can output several values after each other because the execution of template code is NOT terminated by previous calls of wa_dumpc(). 42
Example
{$var = 'foo'}
// You can output only one value when using the function as a modifier.
{$var|wa_dump}
Result
'foo'









