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

korpus

злой бобёр
На мой взгляд правильно сначала проверять переменную с помощью isset(), затем её нужно привести к нужному типу.
PHP:
$param = isset($_POST['param']) ? (string) $_POST['param'] : '';
Какое у вас мнение на счёт этого примера?
 

AmdY

Пью пиво
Команда форума
про приведение типов, это хорошо подмеченно, не так страшно не получить переменную, как получить её ненужного типа, особенно массив вместо строки, в пыхе оказывается остаются функции которые проводят неверно сравнение строк с массивами.
 

WMix

герр M:)ller
Партнер клуба
а разве то что приходит из _POST не string? или это просто пример?
 

eax

#
Я думаю разбираться с типизацией должна функция куда передается переменная.
Приведение типов должно быть уместным, например, если ожидается что придет boolean, то тупизм делать так (boolean)$str ибо если придет строка '0', 'false', 'null' и пр. то выйдет трудно отслеживаемая ошибка.
Поэтому тут радикально is_bool() и выводим ошибку. Ну можно 0 и 1 обработать, чтобы не матерились.
Если ожидается строка, то здесь типизируем, валидируем.
Если ожидается массив или объект, то тут понятно func(Array $vars) func(MyObject $obj)
C int'том is_numeric, есть ли точка, затем типизация
С float заменяем запятую, is_numeric, затем типизация
 

Absinthe

жожо
Вот о них ты и должен был упоминать. Сам, а не после подсказки с моей стороны.
Я вроде достаточно четко описал ситуацию.

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

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