Итак, сам вопрос довольно прост, но я хочу обсудить его и узнать мнение других людей по этому поводу.
Насколько я понимаю, конструктор DateTime
выдает, когда вы передаете недопустимые аргументы и он не может сделать с ними что-то значимое, но как насчет случая, когда вы ничего не передаете и используете его значения по умолчанию? Похоже, что в этом случае ошибки никогда не будет.
$date = new DateTime();
Проблема в том, что PHPDocs добавляет ненужные @throws
, даже если это никогда не будет throw
. Было бы безопасно создать какую-нибудь вспомогательную функцию, чтобы избежать ненужных @throws
в PHPDocs, которые просто подавили бы это исключение, которое никогда не выдается, и сделали бы код чище? Или есть другой способ элегантного подавления этого?
/**
* Suppresses exception on current DateTime
* creation, which is anyway never thrown.
*
* @return DateTime
*/
function getCurrentDateTime(): DateTime
{
try {
return new DateTime();
} catch (Exception $e) {}
}
Итак, каков ваш опыт в этом и есть ли у вас аналогичные функции в вашем проекте?
PS: Я понимаю, что есть множество фреймворков и библиотек, таких как Carbon, которые позволяют вам никогда не сталкиваться с подобными проблемами, но мне все еще интересно найти хороший способ их решения без каких-либо сторонних решений:)