- Теория
- Теория
Тернарный оператор ?:
Мы создали ссылки на все страницы с товарами, теперь покупателям доступен весь ассортимент магазина. Но как им понять, на какой странице каталога они находятся? Выделим ссылку на текущую страницу, добавив ей специальный класс.
Чтобы вычислить, какая ссылка ведёт на текущую страницу, используем тернарный оператор. Мы уже работали с его краткой записью. Полная запись позволяет явно указать условие:
условие ? значение-1 : значение-2;
Если условие истинно, то PHP использует значение-1
, а если ложно — значение-2
. После условия ставится вопросительный знак, а значения разделяются двоеточием.
Тернарный оператор работает почти так же, как условие if
. Когда использовать оператор, а когда — условие? Если нужно выбрать между двумя значениями, проще использовать тернарный оператор. Но если это не просто значения, а, например, несколько строчек кода, то лучше использовать if
.
С помощью тернарного оператора удобно переключать классы в шаблоне:
<p class="<?= get_product_is_new($id) ? 'new' : 'old' ?>">...</p>
Если функция в условии вернёт true
, то абзацу добавится класс new
. А если функция вернёт false
, то добавится класс old
.
В каталоге интернет-магазина нужно добавить класс current
ссылке на текущую страницу. Ссылкам на другие страницы ничего добавлять не нужно. Для обозначения пустого значения используем пустую строку — ''
.
условие ? 'current' : '';
Потренируемся добавлять и убирать класс у ссылок с помощью тернарного оператора. Для этого сначала используем в условии булево значение true
, а после заменим его на false
.
Тернарный оператор называется так потому, что требует три операнда: условие и два значения. Все другие операторы в PHP требуют один (унарные) или два (бинарные) операнда. Подробнее об операторах можно узнать в документации.
Порядковые номера на карточках товаров больше не нужны, поэтому Думпо их убрал.
Без JavaScript будущему разработчику никуда. Записывайтесь на профессиональный курс по JavaScript первого уровня.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.