Вопросы говорят все. Я записываю что-то на STDOUT. Должен ли я использовать эхо для отображения или Die()
. Насколько я знаю, если я использую die() для обычной печати, например die('Entered in For loop')
, он выходит из программы. Также хорошо ли регистрироваться в файлах или mysql?использовать эхо или умереть для отладки и ведения журнала
2
A
ответ
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));
}
}
Всегда полезно регистрироваться, когда программа сталкивается с непредвиденной ошибкой. Таким образом, вы можете учиться на этом и, надеюсь, предотвратить его повторение в будущем. –
'file_put_contents (" someapp.log "," LOG EVENT \ n ", FILE_APPEND);' – CodeColorist
'die()' вывод будет отправлен клиенту. Вообще говоря, вы не хотите, чтобы отладочная информация отправлялась клиенту, так как она может отображать внутренние данные вашей системы. для пользователей, которых вы говорите «Ой, что-то взорвалось». Для внутреннего ведения журнала вы должны включить гораздо более подробную информацию, чтобы помочь выявить проблему. –