переменные не нужно проверять на isset(empty)

  • Автор темы Автор темы samokspv
  • Дата начала Дата начала
На мой взгляд правильно сначала проверять переменную с помощью isset(), затем её нужно привести к нужному типу.
PHP:
$param = isset($_POST['param']) ? (string) $_POST['param'] : '';
Какое у вас мнение на счёт этого примера?
 
про приведение типов, это хорошо подмеченно, не так страшно не получить переменную, как получить её ненужного типа, особенно массив вместо строки, в пыхе оказывается остаются функции которые проводят неверно сравнение строк с массивами.
 
а разве то что приходит из _POST не string? или это просто пример?
 
Я думаю разбираться с типизацией должна функция куда передается переменная.
Приведение типов должно быть уместным, например, если ожидается что придет boolean, то тупизм делать так (boolean)$str ибо если придет строка '0', 'false', 'null' и пр. то выйдет трудно отслеживаемая ошибка.
Поэтому тут радикально is_bool() и выводим ошибку. Ну можно 0 и 1 обработать, чтобы не матерились.
Если ожидается строка, то здесь типизируем, валидируем.
Если ожидается массив или объект, то тут понятно func(Array $vars) func(MyObject $obj)
C int'том is_numeric, есть ли точка, затем типизация
С float заменяем запятую, is_numeric, затем типизация
 
Вот о них ты и должен был упоминать. Сам, а не после подсказки с моей стороны.
Я вроде достаточно четко описал ситуацию.

А разве нет? Нравится функция, которая вместо возврата булевого значения, кидает варнинг?

а типизированное исключение
Именно, а даже с обработкой ошибок таких функций с вызовом исключений исключения будут нетипизированными.
 
Сверху