Лучше, проще и удобнее использовать модуль devel для тех же целей !!!

Очень часто бывает нужно что-то отладить. Например, делаете views, правите шаблон или просто выводите php код в блоке. Конечно, можно делать вывод отладочной информации через print или print_r, но с точки зрения форматирования вывода это не совсем удобно. Я бы даже сказал, что совсем неудобно. Иногда, вообще не получается вывести отладочную информацию или нужно писать ее в лог-файл, который будет намного удобнее читать и анализировать позже. Поэтому я начал использовать следующий маленький и очень полезный код.

В главной папке сайта создаем файлик debug.php следующего содержания :

<?php
/**
* Сохраняем вывод в файл
*
* @param any_type $variable
* @param string $comment
*/
function ___save_debug($variable, $comment = NULL) {
$fp = @fopen('__dbg.txt', 'a');
if( is_array($variable) || is_object($variable) ) {
$variable = print_r($variable, true);
}
$tmp = $comment." : ".$variable."\n\n===========================\n";
fwrite($fp, $tmp);
fclose($fp);
}

/**
* Returns print version of variable.
* Put result on the top of the page.
*
* @param any_type $variable
* @param string $comment
*/
function ___print_debug($variable, $comment = NULL) {
$print_var = print_r($variable, true);
drupal_set_message(''.$comment.''.$print_var.'');
}
?>

в index.php добавляем

require_once './debug.php';

То есть, он начнет выглядеть следующим образом:

require_once './includes/bootstrap.inc';
require_once './debug.php';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$return = menu_execute_active_handler();
........

Все готово для отладки. В месте где вы хотите вывести отладочную информацию в браузер, Вам нужно просто написать следующую строчку:
___print_debug($variable, "Ваш комментарий");
где $variable - это переменная или массив, который вы хотите вывести. Второй параметр является необязательным.
Если Вы хотите вместо вывода записывать отладочную информацию, то используйте следующую функцию:
___save_debug($variable,"Ваш комментарий");
В этом случае отладочная информация будет записана в файл __dbg.txt

Надеюсь эта информация будет полезна для Вас. Желаю удачной отладки и поменьше багов.

Добавить комментарий