Что вы делаете, чтобы избежать вывода трассировки стека из-за ошибки программиста?
Простой, непроизводственный код недопустим в производстве (var_dump
, print_r
и др. Никогда не используются в производстве).Примените в порядке предпочтения либо сборку / тестирование системы, контроль версий, принудительное использование только функций-оболочек, которые можно легко отключить централизованно, либо, если вам действительно необходимо, конфигурацию рабочего сервера.
Почему все функции дампа PHP просто выводят вывод по умолчанию?
Поскольку это проще всего при разработке .
При поиске по нашей кодовой базе я обнаружил довольно много вызовов print_r без второго параметра, для которого установлено значениеtrue
И вы также нашли много or die('some errormessage);
утверждений, также не очень хорошая идея в производстве по очевидным причинам.Ручной код - это иллюстрация, а не рабочий код, но, увы, многие программисты считают его таковым.
Я также иногда использую json_encode () для вывода отладочной информации, поскольку выходные данные иногда более лаконичны и удобны для чтения,Есть ли недостатки в этом подходе?
Может быть, какая-то дополнительная нагрузка, и нет четкого индикатора, который предназначен для отладки (как упоминалось ранее, var_dump
- это красный флаг, json_encode
- нет).
Обычно мы используем какую-то буферизацию вывода, но не везде.
Я использую ее только в случае крайней необходимости, поэтому почти нигде.