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
string
type.
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.log
is 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.log
is 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'