Я создал свою собственную логику оценки короткого замыкания, к сожалению, это не что иное, как быстрый синтаксис javascripts, но, возможно, это решение, которое вы могли бы найти полезным:
$short_circuit_isset = function($var, $default_value = NULL) {
return (isset($var)) ? : $default_value;
};
$return_title = $short_circuit_isset( $_GET['returntitle'], 'God');
// Should return type 'String' value 'God', if get param is not set
Я не могу вспомнить, где я получилследующая логика, но если вы выполните следующее:
(isset($var)) ? : $default_value;
Вы можете пропустить необходимость писать истинную переменную условия снова, после вопросительного знака, например:
(isset($super_long_var_name)) ? $super_long_var_name : $default_value;
Как очень важное замечание , когда вы используете Ternary Operator таким образом, вы заметите, что если будет выполнено сравнение, оно просто передаст значение этого сравнения, поскольку не простоодна переменная.Например:
$num = 1;
$num2 = 2;
var_dump( ($num < $num2) ? : 'oh snap' );
// outputs bool 'true'