Сразу появляется неоднозначность, что будет если не числовой параметр? Исключение? Дефолтное значение? Пока не залезешь внутрь кода, это непонятно. Придётся держать в голове.
Сразу появляется неоднозначность, что будет если не числовой параметр? Исключение? Дефолтное значение? Пока не залезешь внутрь кода, это непонятно. Придётся держать в голове.
Как вообще писать код и не держать то, чем пользуешься, в голове?
То что этот параметр опциональный, кстати, ещё больше усложняет метод. То он есть, то его нет, если его не вписали - это было намеренно или просто забыли? Не-не-не, я через это уже проходил )
Есть вариант вторым аргументом bool указывать дроп исключения, по умолчанию возвращать null Ни к чему не обязывает и можно избежать проверки на нулл, если нужно исключение
В NumericHelper мне не хватает методов toInteger и isDigits. Первая сконвертирует значение в int либо null, если это возможно, вторая вернёт true или false, в зависимости от того, может ли первая сконвертировать в int.
А кастовать в (int) и юзать is_numeric() не лучше чем метод?