Отладку можно выполнять в PHP-коде и в коде шаблонов Smarty.
Отладка PHP-кода
-
wa_dump()
Выводит в браузер значения аргументов и прерывает исполнение PHP-кода.
-
wa_dumpc()
Выводит в браузер значения аргументов без прерывания исполнения PHP-кода.
-
waLog::dump()
Сохраняет значения в лог-файл.
-
waLog::log()
Сохраняет значение в лог-файл с приведением значения к типу
string
.
Отладка кода в шаблонах Smarty
-
{debug}
Открывает консоль отладки Smarty.
-
{wa_tpl_vars}
Показывает список шаблонных переменных, доступных в файле.
-
{wa_dump(...)}, {...|wa_dump}
Показывает значения переменных с прерыванием исполнения кода шаблона.
-
{wa_dumpc(...)}, {...|wa_dumpc}
Показывает значения переменных без прерывания исполнения кода шаблона.
function wa_dump ($var_1 [, $var_2, ..., $var_n])
Выводит в браузер значения переданных аргументов и прерывает исполнение PHP-кода. Можно указать любое количество аргументов.
Параметры
-
$var_1, $var_2, ..., $var_n
Значения, которые нужно вывести в браузер.
Пример
$var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); wa_dump($var_1, $var_2); wa_dump($var_3);
Результат
'foo' 42 // Значение переменной $var_3 не будет выведено, потому что исполнение PHP-кода было прервано предыдущим вызовом wa_dump().
function wa_dumpс ($var_1 [, $var_2, ..., $var_n])
Выводит в браузер значения переданных аргументов без прерывания исполнения PHP-кода. Можно указать любое количество аргументов.
Параметры
-
$var_1, $var_2, ..., $var_n
Значения, которые нужно вывести в браузер.
Пример
$var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); wa_dumpc($var_1, $var_2); wa_dumpc($var_3);
Результат
'foo' 42 // Значение переменной $var_3 выведено, потому что исполнение PHP-кода НЕ прерывается вызовом wa_dumpc(). array( 0 => 1, 1 => 2, 2 => 3, )
public static function waLog::dump ($var_1 [, $var_2, ..., $var_n, $file = 'dump.log'])
Сохраняет значения в лог-файл. Можно указать любое количество аргументов. В качестве последнего аргумента можно указать имя лог-файла, если нужно использовать имя, отличное от стандартного dump.log
.
Содержимое лог-файлов удобно просматривать с помощью приложения «Логи».
Параметры
-
$var_1, $var_2, ..., $var_n
Значения, которые нужно сохранить в лог-файл.
-
$file
Имя лог-файла. Если не указывать, то по умолчанию используется стандартное имя
dump.log
.
Пример
$var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); waLog::dump($var_1, $var_2, $var_3);
Результат
// Значения будут сохранены в файл wa-log/dump.log. 'foo' 42 array( 0 => 1, 1 => 2, 2 => 3, )
public static function waLog::log ($var, $file = 'error.log')
Сохраняет значение в лог-файл с приведением значения к типу string
.
Содержимое лог-файлов удобно просматривать с помощью приложения «Логи».
Параметры
-
$var
Значение, которое нужно сохранить в лог-файл.
-
$file
Имя лог-файла. По умолчанию используется стандартное имя
error.log
.
Пример
$var_1 = 'foo'; $var_2 = 42; waLog::log($var_1); waLog::log($var_2);
Результат
// Значения будут сохранены в файл wa-log/error.log — // по одному значению для каждого вызова waLog::log(). 'foo' 42
Пример
// Сохранение сразу нескольких значений в лог-файл $var_1 = 'foo'; $var_2 = 42; $var_3 = array(1, 2, 3); waLog::log(json_encode(compact('var_1', 'var_2', 'var_3')));
Результат
// Значения будет сохранены в файл wa-log/error.log. {"var_1":"foo","var_2":42,"var_3":[1,2,3]}
{debug}
Открывает консоль отладки Smarty.
Пример
{debug}
{wa_tpl_vars}
Показывает список шаблонных переменных, доступных в файле.
Пример
{wa_tpl_vars}
Результат
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}
Показывает значения переменных с прерыванием исполнения кода шаблона.
Пример
{$var_1 = 'foo'} {$var_2 = 42} // Можно вывести значения сразу нескольких переменных. {wa_dump($var_1, $var_2)}
Результат
'foo' 42
Пример
{$var_1 = 'foo'} {wa_dump($var_1)} {wa_dump($var_2)} {$var_2 = 42}
Результат
'foo' // Значение переменной $var_2 не будет выведено, потому что исполнение кода шаблона было прервано предыдущим вызовом wa_dump().
Пример
{$var = 'foo'} // При использовании функции в качестве модификатора можно вывести только одно значение. {$var|wa_dump}
Результат
'foo'
{wa_dumpc($var_1 [, $var_2, ..., $var_n])}
{$var|wa_dumpc}
Показывает значения переменных без прерывания исполнения кода шаблона.
Пример
{$var_1 = 'foo'} {$var_2 = 42} // Можно вывести значения сразу нескольких переменных. {wa_dumpc($var_1, $var_2)}
Результат
'foo' 42
Пример
{$var_1 = 'foo'} {wa_dumpc($var_1)} {$var_2 = 42} {wa_dumpc($var_2)}
Результат
'foo' // Можно выводить по очереди несколько разных значений, потому что исполнение кода шаблона НЕ прерывается предыдущими вызовами wa_dumpc(). 42
Пример
{$var = 'foo'} // При использовании функции в качестве модификатора можно вывести только одно значение. {$var|wa_dump}
Результат
'foo'