Предполагая, что вы не пытаетесь сделать что-то злонамеренное, все, что вы хотели бы сделать с вашими собственными URL-адресами, может быть запущено с помощью htaccess .
Это что-то вроде цикла for
. Имеет смысл для того, для чего это сделано, но когда вы пытаетесь вставить в него больше материала, это становится нечитаемым.
Подходит для коротких тегов в языках шаблонов, таких как PHP, например:
<form>
<input type='radio' name='gender' value='m' <?=($gender=='m')?"checked":""?>>Male
<input type='radio' name='gender' value='f' <?=($gender=='f')?"checked":""?>>Female
</form>
Подходит для переключателей в javascript / jQuery:
var el = $("#something");
$(el).is(':visible') ? $(el).hide("normal") : $(el).fadeIn("normal");
Подходит для присваивания, особенно там, где определенная переменная Имя может принимать разные типы:
$var = ($foo->isFoo()) ? 'Success!' : false;
Ради удобочитаемости я только использую троичное, если она вписывается в одну строку с 80 символами.
Условный тернарный оператор может определенно злоупотребиться, и некоторые находят это довольно нечитабельным. Однако я нахожу, что это может быть очень чисто в большинстве ситуаций, что булево выражение ожидается, при условии, что его намерение ясно. Если намерение не ясно, лучше использовать временную переменную с ясным именем, значение которого присвоено с помощью оператора "if", или использовать функцию с хорошим именем, которое возвращает математическое ожидание.
О каком тернарном операторе Вы говорите?
Тернарный оператор является любым оператором, который берет три аргумента.
Если Вы говорите о?: оператор, это называют условным оператором. Я не могу больше жить без него, лично. Если еще операторы выглядят настолько грязными мне, особенно при делании уроки. Некоторые жалуются, что это выглядит грязным, но это все еще возможно (особенно при использовании Visual Studio или другого интеллектуально форматирующего IDE) для создания вещей легко читаемыми, и необходимо комментировать все условные выражения так или иначе.