Если можно
return (string) $cnt * 2; — то же самое
Это от не знаний основного синтаксиса php:
function aString( $val ){
return $val= $val. ''; // Заменить на «return (string) $val;» — тогда и вообще этот самописный костыль не нужен.
}
Кроме того, генерить ошибки в большинстве случаев не надо.
например user::getByID($_GET['id']); // в некоторых случаях будет генерить Exception внутри aNumber. Это лишняя головная боль. Я тупо внутри ф-ции перевожу всё в integer и в самом худшем случае получится ноль и ф-ция не сможет найти юзера. Но эта ситуация у меня уже обработана. При запросе /profile.php?id=lalal — выводится сообщение «юзер не найден». И никаких Exception-ов.
Ну как бы случайно такой запрос получится не может, поэтому человек обратившийся по такому адресу прекрасно знает что он делает и в таких сообщениях не нуждается. Или нуждается, но только для получения дополнительной информации о внутренностях системы.
Адаптивная типизация