2013-12-23 2 views
2

Вопросы говорят все. Я записываю что-то на STDOUT. Должен ли я использовать эхо для отображения или Die(). Насколько я знаю, если я использую die() для обычной печати, например die('Entered in For loop'), он выходит из программы. Также хорошо ли регистрироваться в файлах или mysql?использовать эхо или умереть для отладки и ведения журнала

+0

Всегда полезно регистрироваться, когда программа сталкивается с непредвиденной ошибкой. Таким образом, вы можете учиться на этом и, надеюсь, предотвратить его повторение в будущем. –

+0

'file_put_contents (" someapp.log "," LOG EVENT \ n ", FILE_APPEND);' – CodeColorist

+1

'die()' вывод будет отправлен клиенту. Вообще говоря, вы не хотите, чтобы отладочная информация отправлялась клиенту, так как она может отображать внутренние данные вашей системы. для пользователей, которых вы говорите «Ой, что-то взорвалось». Для внутреннего ведения журнала вы должны включить гораздо более подробную информацию, чтобы помочь выявить проблему. –

ответ

3

Для отладки предпочитаю var_dump(). Если вы установите Xdebug (http://xdebug.org/) в свою среду разработки, вы получите намного больше от var_dump.

Когда я хочу убить скрипт, я отлаживаю, обертываю вокруг него, как в die(var_dump()).

Для регистрации войдите в функцию PHP error_log() (http://www.php.net/manual/en/function.error-log.php) или библиотеку регистрации, такую ​​как монолог (https://github.com/Seldaek/monolog).

0
function dd($obj) { 
    $args = func_get_args(); 
    $n = count($args); 
    for($i = 0; $i < $n; $i++) { 
     error_log(print_r($args[$i], true)); 
    } 
}