Комментарии 5
Небольшой комментарий по обработке ошибок.
Я бы предложил в таких строках
в случае, если проверяемый параметр не является секретными данными (пользовательский пароль, например), в тексте исключения его включать. Иначе потом увидев в логе сообщение «URL was expected to be a string» не всегда ясно, что именно в тот момент времени было не так. Разумеется, это в том случае, если вы разрабатываете приложение, которое будет более-менее автономно функционировать без программиста, сидящего перед его консолью :)
Я бы предложил в таких строках
throw new \InvalidArgumentException('URL was expected to be a string');
в случае, если проверяемый параметр не является секретными данными (пользовательский пароль, например), в тексте исключения его включать. Иначе потом увидев в логе сообщение «URL was expected to be a string» не всегда ясно, что именно в тот момент времени было не так. Разумеется, это в том случае, если вы разрабатываете приложение, которое будет более-менее автономно функционировать без программиста, сидящего перед его консолью :)
0
не обязательно выводить значение (вдруг это какой-то объект с циклическими ссылками?) Просто тип через gettype взять.
+1
Нет, просто взять тип недостаточно. В логе нужно именно значение. Обычно тип объекта и наличие циклических ссылок на этапе разработки известны. В данном конкретном случае это была строка, поэтому ее достаточно было просто вывести как есть. Был бы массив, можно было бы вывести результат json_encode(). Была бы модель Laravel, возможно, достаточно было бы вывести результат работы toJson().
0
ну давайте так… скоро мы все будем писать вместо этого, как-то так:
и в логах у нас будет именно тип, а не значение.
function __construct($url : string) {
// все остальное
}
и в логах у нас будет именно тип, а не значение.
+1
Для меня иметь в логе только тип («string») недостаточно. Я хочу знать, какой вид URL вызвал исключение: «хттп:\\11.12.13» или «ya.ru», чтобы понять, как первый вариант вообще попал в программу и почему второй вызывал именно такое исключение.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Киски: Рефакторинг. Часть третья или причесываем шероховатости